Ignore:
Timestamp:
01/21/25 03:08:24 (3 days ago)
Author:
stefan toskovski <stefantoska84@…>
Branches:
main
Parents:
0c6b92a
Message:

F4 Finalna Verzija

File:
1 edited

Legend:

Unmodified
Added
Removed
  • imaps-frontend/node_modules/eslint-plugin-react-refresh/index.js

    r0c6b92a r79a0317  
    2121var src_exports = {};
    2222__export(src_exports, {
     23  configs: () => configs,
    2324  default: () => src_default,
    2425  rules: () => rules
     
    2728
    2829// src/only-export-components.ts
    29 var possibleReactExportRE = /^[A-Z][a-zA-Z0-9]*$/u;
    30 var strictReactExportRE = /^[A-Z][a-zA-Z0-9]*[a-z]+[a-zA-Z0-9]*$/u;
     30var reactComponentNameRE = /^[A-Z][a-zA-Z0-9]*$/u;
    3131var onlyExportComponents = {
    3232  meta: {
     
    4444        type: "object",
    4545        properties: {
     46          allowExportNames: { type: "array", items: { type: "string" } },
    4647          allowConstantExport: { type: "boolean" },
    47           checkJS: { type: "boolean" },
    48           allowExportNames: { type: "array", items: { type: "string" } }
     48          customHOCs: { type: "array", items: { type: "string" } },
     49          checkJS: { type: "boolean" }
    4950        },
    5051        additionalProperties: false
     
    5556  create: (context) => {
    5657    const {
     58      allowExportNames,
    5759      allowConstantExport = false,
    58       checkJS = false,
    59       allowExportNames
     60      customHOCs = [],
     61      checkJS = false
    6062    } = context.options[0] ?? {};
    6163    const filename = context.filename;
     
    6769      return {};
    6870    const allowExportNamesSet = allowExportNames ? new Set(allowExportNames) : void 0;
     71    const reactHOCs = ["memo", "forwardRef", ...customHOCs];
     72    const canBeReactFunctionComponent = (init) => {
     73      if (!init)
     74        return false;
     75      if (init.type === "ArrowFunctionExpression")
     76        return true;
     77      if (init.type === "CallExpression" && init.callee.type === "Identifier") {
     78        return reactHOCs.includes(init.callee.name);
     79      }
     80      return false;
     81    };
    6982    return {
    7083      Program(program) {
    7184        let hasExports = false;
    72         let mayHaveReactExport = false;
     85        let hasReactExport = false;
    7386        let reactIsInScope = false;
    7487        const localComponents = [];
     
    7891          if (identifierNode.type !== "Identifier")
    7992            return;
    80           if (possibleReactExportRE.test(identifierNode.name)) {
     93          if (reactComponentNameRE.test(identifierNode.name)) {
    8194            localComponents.push(identifierNode);
    8295          }
     
    96109          }
    97110          if (isFunction) {
    98             if (possibleReactExportRE.test(identifierNode.name)) {
    99               mayHaveReactExport = true;
     111            if (reactComponentNameRE.test(identifierNode.name)) {
     112              hasReactExport = true;
    100113            } else {
    101114              nonComponentExports.push(identifierNode);
     
    112125              return;
    113126            }
    114             if (!mayHaveReactExport && possibleReactExportRE.test(identifierNode.name)) {
    115               mayHaveReactExport = true;
    116             }
    117             if (!strictReactExportRE.test(identifierNode.name)) {
     127            if (reactComponentNameRE.test(identifierNode.name)) {
     128              hasReactExport = true;
     129            } else {
    118130              nonComponentExports.push(identifierNode);
    119131            }
     
    138150          } else if (node.type === "CallExpression") {
    139151            if (node.callee.type === "CallExpression" && node.callee.callee.type === "Identifier" && node.callee.callee.name === "connect") {
    140               mayHaveReactExport = true;
     152              hasReactExport = true;
    141153            } else if (node.callee.type !== "Identifier") {
    142               if (node.callee.type === "MemberExpression" && node.callee.property.type === "Identifier" && reactHOCs.has(node.callee.property.name)) {
    143                 mayHaveReactExport = true;
     154              if (node.callee.type === "MemberExpression" && node.callee.property.type === "Identifier" && reactHOCs.includes(node.callee.property.name)) {
     155                hasReactExport = true;
    144156              } else {
    145157                context.report({ messageId: "anonymousExport", node });
    146158              }
    147             } else if (!reactHOCs.has(node.callee.name)) {
     159            } else if (!reactHOCs.includes(node.callee.name)) {
    148160              context.report({ messageId: "anonymousExport", node });
    149161            } else if (((_a = node.arguments[0]) == null ? void 0 : _a.type) === "FunctionExpression" && node.arguments[0].id) {
    150162              handleExportIdentifier(node.arguments[0].id, true);
    151163            } else if (((_b = node.arguments[0]) == null ? void 0 : _b.type) === "Identifier") {
    152               mayHaveReactExport = true;
     164              hasReactExport = true;
    153165            } else {
    154166              context.report({ messageId: "anonymousExport", node });
     
    200212          return;
    201213        if (hasExports) {
    202           if (mayHaveReactExport) {
     214          if (hasReactExport) {
    203215            for (const node of nonComponentExports) {
    204216              context.report({ messageId: "namedExport", node });
     
    220232    };
    221233  }
    222 };
    223 var reactHOCs = /* @__PURE__ */ new Set(["memo", "forwardRef"]);
    224 var canBeReactFunctionComponent = (init) => {
    225   if (!init)
    226     return false;
    227   if (init.type === "ArrowFunctionExpression")
    228     return true;
    229   if (init.type === "CallExpression" && init.callee.type === "Identifier") {
    230     return reactHOCs.has(init.callee.name);
    231   }
    232   return false;
    233234};
    234235var notReactComponentExpression = /* @__PURE__ */ new Set([
     
    251252  "only-export-components": onlyExportComponents
    252253};
    253 var src_default = { rules };
     254var plugin = { rules };
     255var configs = {
     256  recommended: {
     257    plugins: { "react-refresh": plugin },
     258    rules: { "react-refresh/only-export-components": "error" }
     259  },
     260  vite: {
     261    plugins: { "react-refresh": plugin },
     262    rules: {
     263      "react-refresh/only-export-components": [
     264        "error",
     265        { allowConstantExport: true }
     266      ]
     267    }
     268  }
     269};
     270var src_default = { rules, configs };
    254271// Annotate the CommonJS export names for ESM import in node:
    2552720 && (module.exports = {
     273  configs,
    256274  rules
    257275});
Note: See TracChangeset for help on using the changeset viewer.