PHP 8.2.30
Preview: create-plugin.js.map Size: 55.08 KB
/home/byroehnu/easepay.easetack.com/node_modules/@babel/plugin-transform-react-jsx/lib/create-plugin.js.map

{"version":3,"names":["_pluginSyntaxJsx","require","_helperPluginUtils","_core","_helperModuleImports","_helperAnnotateAsPure","DEFAULT","importSource","runtime","pragma","pragmaFrag","JSX_SOURCE_ANNOTATION_REGEX","JSX_RUNTIME_ANNOTATION_REGEX","JSX_ANNOTATION_REGEX","JSX_FRAG_ANNOTATION_REGEX","get","pass","name","set","v","hasProto","node","properties","some","value","t","isObjectProperty","computed","shorthand","isIdentifier","key","isStringLiteral","createPlugin","development","declare","_","options","pure","PURE_ANNOTATION","throwIfNamespace","filter","RUNTIME_DEFAULT","IMPORT_SOURCE_DEFAULT","PRAGMA_DEFAULT","PRAGMA_FRAG_DEFAULT","useSpread","useBuiltIns","Error","commentsNode","inherits","jsx","visitor","JSXNamespacedName","path","buildCodeFrameError","JSXSpreadChild","Program","enter","state","file","source","sourceSet","pragmaSet","pragmaFragSet","ast","comments","comment","sourceMatches","exec","runtimeMatches","jsxMatches","jsxFragMatches","createElement","toMemberExpression","fragment","cloneNode","define","id","createImportLazily","isDerivedClass","classNode","superClass","isThisAllowed","parents","i","length","isFunctionParent","isArrowFunctionExpression","isMethod","kind","isTSModuleBlock","fileNameIdentifier","makeSource","location","loc","scope","buildUndefinedNode","generateUidIdentifier","makeTrace","start","line","column","lineNumber","column0Based","fileLineLiteral","numericLiteral","nullLiteral","fileColumnLiteral","template","expression","traverse","isJSXOpeningElement","attributes","push","jsxAttribute","jsxIdentifier","jsxExpressionContainer","thisExpression","filename","init","stringLiteral","JSXFragment","exit","callExpr","buildCreateElementFragmentCall","buildJSXFragmentCall","replaceWith","JSXElement","shouldUseCreateElement","buildCreateElementCall","buildJSXElementCall","JSXAttribute","isJSXElement","call","args","callExpression","annotateAsPure","openingPath","seenPropsSpread","attr","isJSXAttribute","isJSXSpreadAttribute","convertJSXIdentifier","parent","isJSXIdentifier","isReferenced","isValidIdentifier","type","isJSXMemberExpression","memberExpression","object","property","isJSXNamespacedName","namespace","convertAttributeValue","isJSXExpressionContainer","processComments","attribs","argument","leadingComments","trailingComments","accumulateAttribute","array","attribute","arg","isObjectExpression","spreadElement","booleanLiteral","_value$extra","replace","extra","raw","objectProperty","buildChildrenProperty","children","childrenNode","arrayExpression","undefined","identifier","getTag","attribsArray","extracted","Object","create","sourceSelfError","keyValue","react","buildChildren","buildJSXOpeningElementAttributes","inheritsComments","objectExpression","_extracted$key","__source","__self","props","reduce","buildCreateElementOpeningElementAttributes","tagExpr","tagName","isCompatTag","objs","forEach","prop","isSpreadElement","slice","unshift","helper","addHelper","found","ret","getSource","importName","actualSource","isModule","reference","addNamed","importedInterop","importPosition","addNamespace","split","map","pluginName"],"sources":["../src/create-plugin.ts"],"sourcesContent":["import jsx from \"@babel/plugin-syntax-jsx\";\nimport { declare } from \"@babel/helper-plugin-utils\";\nimport { template, types as t } from \"@babel/core\";\nimport type { PluginPass, NodePath } from \"@babel/core\";\nimport { addNamed, addNamespace, isModule } from \"@babel/helper-module-imports\";\nimport annotateAsPure from \"@babel/helper-annotate-as-pure\";\nimport type {\n  CallExpression,\n  Class,\n  Expression,\n  Identifier,\n  JSXAttribute,\n  JSXElement,\n  JSXFragment,\n  JSXOpeningElement,\n  JSXSpreadAttribute,\n  MemberExpression,\n  ObjectExpression,\n  Program,\n} from \"@babel/types\";\n\nconst DEFAULT = {\n  importSource: \"react\",\n  runtime: \"automatic\",\n  pragma: \"React.createElement\",\n  pragmaFrag: \"React.Fragment\",\n};\n\nconst JSX_SOURCE_ANNOTATION_REGEX =\n  /^\\s*(?:\\*\\s*)?@jsxImportSource\\s+(\\S+)\\s*$/m;\nconst JSX_RUNTIME_ANNOTATION_REGEX = /^\\s*(?:\\*\\s*)?@jsxRuntime\\s+(\\S+)\\s*$/m;\n\nconst JSX_ANNOTATION_REGEX = /^\\s*(?:\\*\\s*)?@jsx\\s+(\\S+)\\s*$/m;\nconst JSX_FRAG_ANNOTATION_REGEX = /^\\s*(?:\\*\\s*)?@jsxFrag\\s+(\\S+)\\s*$/m;\n\nconst get = (pass: PluginPass, name: string) =>\n  pass.get(`@babel/plugin-react-jsx/${name}`);\nconst set = (pass: PluginPass, name: string, v: any) =>\n  pass.set(`@babel/plugin-react-jsx/${name}`, v);\n\nfunction hasProto(node: t.ObjectExpression) {\n  return node.properties.some(\n    value =>\n      t.isObjectProperty(value, { computed: false, shorthand: false }) &&\n      (t.isIdentifier(value.key, { name: \"__proto__\" }) ||\n        t.isStringLiteral(value.key, { value: \"__proto__\" })),\n  );\n}\n\nexport interface Options {\n  filter?: (node: t.Node, pass: PluginPass) => boolean;\n  importSource?: string;\n  pragma?: string;\n  pragmaFrag?: string;\n  pure?: string;\n  runtime?: \"automatic\" | \"classic\";\n  throwIfNamespace?: boolean;\n  useBuiltIns: boolean;\n  useSpread?: boolean;\n}\nexport default function createPlugin({\n  name,\n  development,\n}: {\n  name: string;\n  development: boolean;\n}) {\n  return declare((_, options: Options) => {\n    const {\n      pure: PURE_ANNOTATION,\n\n      throwIfNamespace = true,\n\n      filter,\n\n      runtime: RUNTIME_DEFAULT = process.env.BABEL_8_BREAKING\n        ? \"automatic\"\n        : development\n          ? \"automatic\"\n          : \"classic\",\n\n      importSource: IMPORT_SOURCE_DEFAULT = DEFAULT.importSource,\n      pragma: PRAGMA_DEFAULT = DEFAULT.pragma,\n      pragmaFrag: PRAGMA_FRAG_DEFAULT = DEFAULT.pragmaFrag,\n    } = options;\n\n    if (process.env.BABEL_8_BREAKING) {\n      if (\"useSpread\" in options) {\n        throw new Error(\n          '@babel/plugin-transform-react-jsx: Since Babel 8, an inline object with spread elements is always used, and the \"useSpread\" option is no longer available. Please remove it from your config.',\n        );\n      }\n\n      if (\"useBuiltIns\" in options) {\n        const useBuiltInsFormatted = JSON.stringify(options.useBuiltIns);\n        throw new Error(\n          `@babel/plugin-transform-react-jsx: Since \"useBuiltIns\" is removed in Babel 8, you can remove it from the config.\n- Babel 8 now transforms JSX spread to object spread. If you need to transpile object spread with\n\\`useBuiltIns: ${useBuiltInsFormatted}\\`, you can use the following config\n{\n  \"plugins\": [\n    \"@babel/plugin-transform-react-jsx\"\n    [\"@babel/plugin-transform-object-rest-spread\", { \"loose\": true, \"useBuiltIns\": ${useBuiltInsFormatted} }]\n  ]\n}`,\n        );\n      }\n\n      if (filter != null && RUNTIME_DEFAULT === \"automatic\") {\n        throw new Error(\n          '@babel/plugin-transform-react-jsx: \"filter\" option can not be used with automatic runtime. If you are upgrading from Babel 7, please specify `runtime: \"classic\"`.',\n        );\n      }\n    } else {\n      // eslint-disable-next-line no-var\n      var { useSpread = false, useBuiltIns = false } = options;\n\n      if (RUNTIME_DEFAULT === \"classic\") {\n        if (typeof useSpread !== \"boolean\") {\n          throw new Error(\n            \"transform-react-jsx currently only accepts a boolean option for \" +\n              \"useSpread (defaults to false)\",\n          );\n        }\n\n        if (typeof useBuiltIns !== \"boolean\") {\n          throw new Error(\n            \"transform-react-jsx currently only accepts a boolean option for \" +\n              \"useBuiltIns (defaults to false)\",\n          );\n        }\n\n        if (useSpread && useBuiltIns) {\n          throw new Error(\n            \"transform-react-jsx currently only accepts useBuiltIns or useSpread \" +\n              \"but not both\",\n          );\n        }\n      }\n    }\n\n    let commentsNode: t.Node | null = null;\n\n    return {\n      name,\n      inherits: jsx,\n      visitor: {\n        JSXNamespacedName(path) {\n          if (throwIfNamespace) {\n            throw path.buildCodeFrameError(\n              `Namespace tags are not supported by default. React's JSX doesn't support namespace tags. \\\nYou can set \\`throwIfNamespace: false\\` to bypass this warning.`,\n            );\n          }\n        },\n\n        JSXSpreadChild(path) {\n          throw path.buildCodeFrameError(\n            \"Spread children are not supported in React.\",\n          );\n        },\n\n        Program: {\n          enter(path, state) {\n            const { file } = state;\n            let runtime: string = RUNTIME_DEFAULT;\n\n            let source: string = IMPORT_SOURCE_DEFAULT;\n            let pragma: string = PRAGMA_DEFAULT;\n            let pragmaFrag: string = PRAGMA_FRAG_DEFAULT;\n\n            let sourceSet = !!options.importSource;\n            let pragmaSet = !!options.pragma;\n            let pragmaFragSet = !!options.pragmaFrag;\n\n            if (file.ast.comments) {\n              for (const comment of file.ast.comments) {\n                const sourceMatches = JSX_SOURCE_ANNOTATION_REGEX.exec(\n                  comment.value,\n                );\n                if (sourceMatches) {\n                  source = sourceMatches[1];\n                  sourceSet = true;\n                }\n\n                const runtimeMatches = JSX_RUNTIME_ANNOTATION_REGEX.exec(\n                  comment.value,\n                );\n                if (runtimeMatches) {\n                  runtime = runtimeMatches[1];\n                }\n\n                const jsxMatches = JSX_ANNOTATION_REGEX.exec(comment.value);\n                if (jsxMatches) {\n                  pragma = jsxMatches[1];\n                  pragmaSet = true;\n                }\n                const jsxFragMatches = JSX_FRAG_ANNOTATION_REGEX.exec(\n                  comment.value,\n                );\n                if (jsxFragMatches) {\n                  pragmaFrag = jsxFragMatches[1];\n                  pragmaFragSet = true;\n                }\n              }\n            }\n\n            set(state, \"runtime\", runtime);\n            if (runtime === \"classic\") {\n              if (sourceSet) {\n                throw path.buildCodeFrameError(\n                  `importSource cannot be set when runtime is classic.`,\n                );\n              }\n\n              const createElement = toMemberExpression(pragma);\n              const fragment = toMemberExpression(pragmaFrag);\n\n              set(state, \"id/createElement\", () => t.cloneNode(createElement));\n              set(state, \"id/fragment\", () => t.cloneNode(fragment));\n\n              set(state, \"defaultPure\", pragma === DEFAULT.pragma);\n            } else if (runtime === \"automatic\") {\n              if (pragmaSet || pragmaFragSet) {\n                throw path.buildCodeFrameError(\n                  `pragma and pragmaFrag cannot be set when runtime is automatic.`,\n                );\n              }\n\n              const define = (name: string, id: string) =>\n                set(state, name, createImportLazily(state, path, id, source));\n\n              define(\"id/jsx\", development ? \"jsxDEV\" : \"jsx\");\n              define(\"id/jsxs\", development ? \"jsxDEV\" : \"jsxs\");\n              define(\"id/createElement\", \"createElement\");\n              define(\"id/fragment\", \"Fragment\");\n\n              set(state, \"defaultPure\", source === DEFAULT.importSource);\n            } else {\n              throw path.buildCodeFrameError(\n                `Runtime must be either \"classic\" or \"automatic\".`,\n              );\n            }\n\n            if (development) {\n              // Returns whether the class has specified a superclass.\n              function isDerivedClass(classNode: Class) {\n                return classNode.superClass !== null;\n              }\n\n              // Returns whether `this` is allowed at given scope.\n              function isThisAllowed(parents: t.TraversalAncestors) {\n                let i = parents.length - 1;\n\n                // This specifically skips arrow functions as they do not rewrite `this`.\n                do {\n                  const { node } = parents[i];\n                  if (\n                    t.isFunctionParent(node) &&\n                    !t.isArrowFunctionExpression(node)\n                  ) {\n                    if (!t.isMethod(node)) {\n                      // If the closest parent is a regular function, `this` will be rebound, therefore it is fine to use `this`.\n                      return true;\n                    }\n                    // Current node is within a method, so we need to check if the method is a constructor.\n                    if (node.kind !== \"constructor\") {\n                      // We are not in a constructor, therefore it is always fine to use `this`.\n                      return true;\n                    }\n                    // Now we are in a constructor. If it is a derived class, we do not reference `this`.\n                    return !isDerivedClass(parents[i - 2].node as Class);\n                  }\n                  if (t.isTSModuleBlock(node)) {\n                    // If the closest parent is a TS Module block, `this` will not be allowed.\n                    return false;\n                  }\n                } while (i-- > 0);\n                // We are not in a method or function. It is fine to use `this`.\n                return true;\n              }\n\n              let fileNameIdentifier: Identifier;\n              function makeSource(node: t.Node) {\n                const location = node.loc;\n                if (!location) {\n                  // the element was generated and doesn't have location information\n                  return path.scope.buildUndefinedNode();\n                }\n\n                if (!fileNameIdentifier) {\n                  fileNameIdentifier =\n                    path.scope.generateUidIdentifier(\"_jsxFileName\");\n                }\n\n                return makeTrace(\n                  t.cloneNode(fileNameIdentifier),\n                  location.start.line,\n                  location.start.column,\n                );\n              }\n\n              function makeTrace(\n                fileNameIdentifier: Identifier,\n                lineNumber?: number,\n                column0Based?: number,\n              ) {\n                const fileLineLiteral =\n                  lineNumber != null\n                    ? t.numericLiteral(lineNumber)\n                    : t.nullLiteral();\n\n                const fileColumnLiteral =\n                  column0Based != null\n                    ? t.numericLiteral(column0Based + 1)\n                    : t.nullLiteral();\n\n                return template.expression.ast`{\n                    fileName: ${fileNameIdentifier},\n                    lineNumber: ${fileLineLiteral},\n                    columnNumber: ${fileColumnLiteral},\n                  }`;\n              }\n\n              t.traverse(path.node, {\n                enter(node, parents) {\n                  if (!t.isJSXOpeningElement(node)) {\n                    return;\n                  }\n                  const attributes = node.attributes;\n                  if (isThisAllowed(parents)) {\n                    attributes.push(\n                      t.jsxAttribute(\n                        t.jsxIdentifier(\"__self\"),\n                        t.jsxExpressionContainer(t.thisExpression()),\n                      ),\n                    );\n                  }\n                  attributes.push(\n                    t.jsxAttribute(\n                      t.jsxIdentifier(\"__source\"),\n                      t.jsxExpressionContainer(makeSource(node)),\n                    ),\n                  );\n                },\n              });\n\n              if (fileNameIdentifier) {\n                const { filename = \"\" } = state;\n\n                path.scope.push({\n                  id: fileNameIdentifier,\n                  init: t.stringLiteral(filename),\n                });\n              }\n            }\n          },\n        },\n\n        JSXFragment: {\n          exit(path, file) {\n            let callExpr;\n            if (get(file, \"runtime\") === \"classic\") {\n              callExpr = buildCreateElementFragmentCall(path, file);\n            } else {\n              callExpr = buildJSXFragmentCall(path, file);\n            }\n\n            path.replaceWith(t.inherits(callExpr, path.node));\n          },\n        },\n\n        JSXElement: {\n          exit(path, file) {\n            let callExpr;\n            if (\n              get(file, \"runtime\") === \"classic\" ||\n              shouldUseCreateElement(path)\n            ) {\n              callExpr = buildCreateElementCall(path, file);\n            } else {\n              callExpr = buildJSXElementCall(path, file);\n            }\n\n            path.replaceWith(t.inherits(callExpr, path.node));\n          },\n        },\n\n        JSXAttribute(path) {\n          if (t.isJSXElement(path.node.value)) {\n            path.node.value = t.jsxExpressionContainer(path.node.value);\n          }\n        },\n      },\n    };\n\n    function call(\n      pass: PluginPass,\n      name: string,\n      args: CallExpression[\"arguments\"],\n    ) {\n      const node = t.callExpression(get(pass, `id/${name}`)(), args);\n      if (PURE_ANNOTATION ?? get(pass, \"defaultPure\")) annotateAsPure(node);\n      return node;\n    }\n\n    // We want to use React.createElement, even in the case of\n    // jsx, for <div {...props} key={key} /> to distinguish it\n    // from <div key={key} {...props} />. This is an intermediary\n    // step while we deprecate key spread from props. Afterwards,\n    // we will stop using createElement in the transform.\n    function shouldUseCreateElement(path: NodePath<JSXElement>) {\n      const openingPath = path.get(\"openingElement\");\n      const attributes = openingPath.node.attributes;\n\n      let seenPropsSpread = false;\n      for (let i = 0; i < attributes.length; i++) {\n        const attr = attributes[i];\n        if (\n          seenPropsSpread &&\n          t.isJSXAttribute(attr) &&\n          attr.name.name === \"key\"\n        ) {\n          return true;\n        } else if (t.isJSXSpreadAttribute(attr)) {\n          seenPropsSpread = true;\n        }\n      }\n      return false;\n    }\n\n    function convertJSXIdentifier(\n      node: t.JSXIdentifier | t.JSXMemberExpression | t.JSXNamespacedName,\n      parent: t.JSXOpeningElement | t.JSXMemberExpression,\n    ): t.ThisExpression | t.StringLiteral | t.MemberExpression | t.Identifier {\n      if (t.isJSXIdentifier(node)) {\n        if (node.name === \"this\" && t.isReferenced(node, parent)) {\n          return t.thisExpression();\n        } else if (t.isValidIdentifier(node.name, false)) {\n          // @ts-expect-error cast AST type to Identifier\n          node.type = \"Identifier\";\n          return node as unknown as t.Identifier;\n        } else {\n          return t.stringLiteral(node.name);\n        }\n      } else if (t.isJSXMemberExpression(node)) {\n        return t.memberExpression(\n          convertJSXIdentifier(node.object, node),\n          convertJSXIdentifier(node.property, node),\n        );\n      } else if (t.isJSXNamespacedName(node)) {\n        /**\n         * If the flag \"throwIfNamespace\" is false\n         * print XMLNamespace like string literal\n         */\n        return t.stringLiteral(`${node.namespace.name}:${node.name.name}`);\n      }\n\n      // todo: this branch should be unreachable\n      return node;\n    }\n\n    function convertAttributeValue(\n      node: t.JSXAttribute[\"value\"] | t.BooleanLiteral,\n    ) {\n      if (t.isJSXExpressionContainer(node)) {\n        return node.expression;\n      } else {\n        return node;\n      }\n    }\n\n    function processComments(\n      attribs: NodePath<JSXAttribute | JSXSpreadAttribute>[],\n    ) {\n      commentsNode = null;\n      if (attribs.length && attribs[0].isJSXSpreadAttribute()) {\n        const node = attribs[0].node.argument;\n        if (node.leadingComments || node.trailingComments) {\n          commentsNode = t.cloneNode(node);\n        }\n      }\n    }\n\n    function accumulateAttribute(\n      array: ObjectExpression[\"properties\"],\n      attribute: NodePath<JSXAttribute | JSXSpreadAttribute>,\n    ) {\n      if (t.isJSXSpreadAttribute(attribute.node)) {\n        const arg = attribute.node.argument;\n        // Collect properties into props array if spreading object expression\n        if (t.isObjectExpression(arg) && !hasProto(arg)) {\n          array.push(...arg.properties);\n        } else {\n          array.push(t.spreadElement(arg));\n        }\n        return array;\n      }\n\n      const value = convertAttributeValue(\n        attribute.node.name.name !== \"key\"\n          ? attribute.node.value || t.booleanLiteral(true)\n          : attribute.node.value,\n      );\n\n      if (attribute.node.name.name === \"key\" && value === null) {\n        throw attribute.buildCodeFrameError(\n          'Please provide an explicit key value. Using \"key\" as a shorthand for \"key={true}\" is not allowed.',\n        );\n      }\n\n      if (\n        t.isStringLiteral(value) &&\n        !t.isJSXExpressionContainer(attribute.node.value)\n      ) {\n        value.value = value.value.replace(/\\n\\s+/g, \" \");\n\n        // \"raw\" JSXText should not be used from a StringLiteral because it needs to be escaped.\n        delete value.extra?.raw;\n      }\n\n      if (t.isJSXNamespacedName(attribute.node.name)) {\n        // @ts-expect-error mutating AST\n        attribute.node.name = t.stringLiteral(\n          attribute.node.name.namespace.name +\n            \":\" +\n            attribute.node.name.name.name,\n        );\n      } else if (t.isValidIdentifier(attribute.node.name.name, false)) {\n        // @ts-expect-error mutating AST\n        attribute.node.name.type = \"Identifier\";\n      } else {\n        // @ts-expect-error mutating AST\n        attribute.node.name = t.stringLiteral(attribute.node.name.name);\n      }\n\n      array.push(\n        t.inherits(\n          t.objectProperty(\n            // @ts-expect-error The attribute.node.name is an Identifier now\n            attribute.node.name,\n            value,\n          ),\n          attribute.node,\n        ),\n      );\n      return array;\n    }\n\n    function buildChildrenProperty(children: Expression[]) {\n      let childrenNode;\n      if (children.length === 1) {\n        childrenNode = children[0];\n      } else if (children.length > 1) {\n        childrenNode = t.arrayExpression(children);\n      } else {\n        return undefined;\n      }\n\n      return t.objectProperty(t.identifier(\"children\"), childrenNode);\n    }\n\n    // Builds JSX into:\n    // Production: React.jsx(type, arguments, key)\n    // Development: React.jsxDEV(type, arguments, key, isStaticChildren, source, self)\n    function buildJSXElementCall(path: NodePath<JSXElement>, file: PluginPass) {\n      const openingPath = path.get(\"openingElement\");\n      const args: t.Expression[] = [getTag(openingPath)];\n\n      const attribsArray = [];\n      const extracted = Object.create(null);\n\n      // for React.jsx, key, __source (dev), and __self (dev) is passed in as\n      // a separate argument rather than in the args object. We go through the\n      // props and filter out these three keywords so we can pass them in\n      // as separate arguments later\n      for (const attr of openingPath.get(\"attributes\")) {\n        if (attr.isJSXAttribute() && t.isJSXIdentifier(attr.node.name)) {\n          const { name } = attr.node.name;\n          switch (name) {\n            case \"__source\":\n            case \"__self\":\n              if (extracted[name]) throw sourceSelfError(path, name);\n            /* falls through */\n            case \"key\": {\n              const keyValue = convertAttributeValue(attr.node.value);\n              if (keyValue === null) {\n                throw attr.buildCodeFrameError(\n                  'Please provide an explicit key value. Using \"key\" as a shorthand for \"key={true}\" is not allowed.',\n                );\n              }\n\n              extracted[name] = keyValue;\n              break;\n            }\n            default:\n              attribsArray.push(attr);\n          }\n        } else {\n          attribsArray.push(attr);\n        }\n      }\n\n      const children = t.react.buildChildren(path.node);\n\n      let attribs: t.ObjectExpression;\n\n      if (attribsArray.length || children.length) {\n        attribs = buildJSXOpeningElementAttributes(\n          attribsArray,\n          //@ts-expect-error The children here contains JSXSpreadChild,\n          // which will be thrown later\n          children,\n        );\n        if (commentsNode) {\n          t.inheritsComments(attribs, commentsNode);\n        }\n      } else {\n        // attributes should never be null\n        attribs = t.objectExpression([]);\n      }\n\n      args.push(attribs);\n\n      if (development) {\n        // isStaticChildren, __source, and __self are only used in development\n        // automatically include __source and __self in this plugin\n        // so we can eliminate the need for separate Babel plugins in Babel 8\n        args.push(\n          extracted.key ?? path.scope.buildUndefinedNode(),\n          t.booleanLiteral(children.length > 1),\n        );\n        if (extracted.__source) {\n          args.push(extracted.__source);\n          if (extracted.__self) args.push(extracted.__self);\n        } else if (extracted.__self) {\n          args.push(path.scope.buildUndefinedNode(), extracted.__self);\n        }\n      } else if (extracted.key !== undefined) {\n        args.push(extracted.key);\n      }\n\n      return call(file, children.length > 1 ? \"jsxs\" : \"jsx\", args);\n    }\n\n    // Builds props for React.jsx. This function adds children into the props\n    // and ensures that props is always an object\n    function buildJSXOpeningElementAttributes(\n      attribs: NodePath<JSXAttribute | JSXSpreadAttribute>[],\n      children: Expression[],\n    ) {\n      processComments(attribs);\n      const props = attribs.reduce(accumulateAttribute, []);\n\n      // In React.jsx, children is no longer a separate argument, but passed in\n      // through the argument object\n      if (children?.length > 0) {\n        props.push(buildChildrenProperty(children));\n      }\n\n      return t.objectExpression(props);\n    }\n\n    // Builds JSX Fragment <></> into\n    // Production: React.jsx(type, arguments)\n    // Development: React.jsxDEV(type, { children })\n    function buildJSXFragmentCall(\n      path: NodePath<JSXFragment>,\n      file: PluginPass,\n    ) {\n      const args = [get(file, \"id/fragment\")()];\n\n      const children = t.react.buildChildren(path.node);\n\n      args.push(\n        t.objectExpression(\n          children.length > 0\n            ? [\n                buildChildrenProperty(\n                  //@ts-expect-error The children here contains JSXSpreadChild,\n                  // which will be thrown later\n                  children,\n                ),\n              ]\n            : [],\n        ),\n      );\n\n      if (development) {\n        args.push(\n          path.scope.buildUndefinedNode(),\n          t.booleanLiteral(children.length > 1),\n        );\n      }\n\n      return call(file, children.length > 1 ? \"jsxs\" : \"jsx\", args);\n    }\n\n    // Builds JSX Fragment <></> into\n    // React.createElement(React.Fragment, null, ...children)\n    function buildCreateElementFragmentCall(\n      path: NodePath<JSXFragment>,\n      file: PluginPass,\n    ) {\n      if (filter && !filter(path.node, file)) return;\n\n      return call(file, \"createElement\", [\n        get(file, \"id/fragment\")(),\n        t.nullLiteral(),\n        ...t.react.buildChildren(path.node),\n      ]);\n    }\n\n    // Builds JSX into:\n    // Production: React.createElement(type, arguments, children)\n    // Development: React.createElement(type, arguments, children, source, self)\n    function buildCreateElementCall(\n      path: NodePath<JSXElement>,\n      file: PluginPass,\n    ) {\n      const openingPath = path.get(\"openingElement\");\n\n      return call(file, \"createElement\", [\n        getTag(openingPath),\n        buildCreateElementOpeningElementAttributes(\n          file,\n          path,\n          openingPath.get(\"attributes\"),\n        ),\n        // @ts-expect-error JSXSpreadChild has been transformed in convertAttributeValue\n        ...t.react.buildChildren(path.node),\n      ]);\n    }\n\n    function getTag(openingPath: NodePath<JSXOpeningElement>) {\n      const tagExpr = convertJSXIdentifier(\n        openingPath.node.name,\n        openingPath.node,\n      );\n\n      let tagName: string;\n      if (t.isIdentifier(tagExpr)) {\n        tagName = tagExpr.name;\n      } else if (t.isStringLiteral(tagExpr)) {\n        tagName = tagExpr.value;\n      }\n\n      if (t.react.isCompatTag(tagName)) {\n        return t.stringLiteral(tagName);\n      } else {\n        return tagExpr;\n      }\n    }\n\n    /**\n     * The logic for this is quite terse. It's because we need to\n     * support spread elements. We loop over all attributes,\n     * breaking on spreads, we then push a new object containing\n     * all prior attributes to an array for later processing.\n     */\n    function buildCreateElementOpeningElementAttributes(\n      file: PluginPass,\n      path: NodePath<JSXElement>,\n      attribs: NodePath<JSXAttribute | JSXSpreadAttribute>[],\n    ) {\n      const runtime = get(file, \"runtime\");\n      if (!process.env.BABEL_8_BREAKING) {\n        if (runtime !== \"automatic\") {\n          const objs = [];\n          processComments(attribs);\n          const props = attribs.reduce(accumulateAttribute, []);\n\n          if (!useSpread) {\n            // Convert syntax to use multiple objects instead of spread\n            let start = 0;\n            props.forEach((prop, i) => {\n              if (t.isSpreadElement(prop)) {\n                if (i > start) {\n                  objs.push(t.objectExpression(props.slice(start, i)));\n                }\n                objs.push(prop.argument);\n                start = i + 1;\n              }\n            });\n            if (props.length > start) {\n              objs.push(t.objectExpression(props.slice(start)));\n            }\n          } else if (props.length) {\n            objs.push(t.objectExpression(props));\n          }\n\n          if (!objs.length) {\n            return t.nullLiteral();\n          }\n\n          if (commentsNode) {\n            t.inheritsComments(objs[0], commentsNode);\n          }\n\n          if (objs.length === 1) {\n            if (\n              !(\n                t.isSpreadElement(props[0]) &&\n                // If an object expression is spread element's argument\n                // it is very likely to contain __proto__ and we should stop\n                // optimizing spread element\n                t.isObjectExpression(props[0].argument)\n              )\n            ) {\n              return objs[0];\n            }\n          }\n\n          // looks like we have multiple objects\n          if (!t.isObjectExpression(objs[0])) {\n            objs.unshift(t.objectExpression([]));\n          }\n\n          const helper = useBuiltIns\n            ? t.memberExpression(t.identifier(\"Object\"), t.identifier(\"assign\"))\n            : file.addHelper(\"extends\");\n\n          // spread it\n          return t.callExpression(helper, objs);\n        }\n      }\n\n      const props: ObjectExpression[\"properties\"] = [];\n      const found = Object.create(null);\n\n      processComments(attribs);\n      for (const attr of attribs) {\n        const { node } = attr;\n        const name =\n          t.isJSXAttribute(node) &&\n          t.isJSXIdentifier(node.name) &&\n          node.name.name;\n\n        if (\n          runtime === \"automatic\" &&\n          (name === \"__source\" || name === \"__self\")\n        ) {\n          if (found[name]) throw sourceSelfError(path, name);\n          found[name] = true;\n        }\n\n        accumulateAttribute(props, attr);\n      }\n\n      const ret =\n        props.length === 1 &&\n        t.isSpreadElement(props[0]) &&\n        // If an object expression is spread element's argument\n        // it is very likely to contain __proto__ and we should stop\n        // optimizing spread element\n        !t.isObjectExpression(props[0].argument)\n          ? props[0].argument\n          : props.length > 0\n            ? t.objectExpression(props)\n            : t.nullLiteral();\n      if (commentsNode) {\n        t.inheritsComments(ret, commentsNode);\n      }\n      return ret;\n    }\n  });\n\n  function getSource(source: string, importName: string) {\n    switch (importName) {\n      case \"Fragment\":\n        return `${source}/${development ? \"jsx-dev-runtime\" : \"jsx-runtime\"}`;\n      case \"jsxDEV\":\n        return `${source}/jsx-dev-runtime`;\n      case \"jsx\":\n      case \"jsxs\":\n        return `${source}/jsx-runtime`;\n      case \"createElement\":\n        return source;\n    }\n  }\n\n  function createImportLazily(\n    pass: PluginPass,\n    path: NodePath<Program>,\n    importName: string,\n    source: string,\n  ): () => Identifier | MemberExpression {\n    return () => {\n      const actualSource = getSource(source, importName);\n      if (isModule(path)) {\n        let reference = get(pass, `imports/${importName}`);\n        if (reference) return t.cloneNode(reference);\n\n        reference = addNamed(path, importName, actualSource, {\n          importedInterop: \"uncompiled\",\n          importPosition: \"after\",\n        });\n        set(pass, `imports/${importName}`, reference);\n\n        return reference;\n      } else {\n        let reference = get(pass, `requires/${actualSource}`);\n        if (reference) {\n          reference = t.cloneNode(reference);\n        } else {\n          reference = addNamespace(path, actualSource, {\n            importedInterop: \"uncompiled\",\n          });\n          set(pass, `requires/${actualSource}`, reference);\n        }\n\n        return t.memberExpression(reference, t.identifier(importName));\n      }\n    };\n  }\n}\n\nfunction toMemberExpression(id: string): Identifier | MemberExpression {\n  return (\n    id\n      .split(\".\")\n      .map(name => t.identifier(name))\n      // @ts-expect-error - The Array#reduce does not have a signature\n      // where the type of initial value differs from callback return type\n      .reduce((object, property) => t.memberExpression(object, property))\n  );\n}\n\nfunction sourceSelfError(path: NodePath, name: string) {\n  const pluginName = `transform-react-jsx-${name.slice(2)}`;\n\n  return path.buildCodeFrameError(\n    `Duplicate ${name} prop found. You are most likely using the deprecated ${pluginName} Babel plugin. Both __source and __self are automatically set when using the automatic runtime. Please remove transform-react-jsx-source and transform-react-jsx-self from your Babel config.`,\n  );\n}\n"],"mappings":"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","ignoreList":[]}

Directory Contents

Dirs: 0 × Files: 7

Name Size Perms Modified Actions
127 B lr--r--r-- 2026-03-14 01:49:05
Edit Download
22.03 KB lrw-r--r-- 2026-02-28 00:27:02
Edit Download
55.08 KB lrw-r--r-- 2026-02-28 00:27:20
Edit Download
327 B lrw-r--r-- 2026-02-28 00:27:28
Edit Download
510 B lrw-r--r-- 2026-02-28 00:27:34
Edit Download
310 B lrw-r--r-- 2026-02-28 00:27:42
Edit Download
604 B lrw-r--r-- 2026-02-28 00:27:46
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).