HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/1784574/root/usr/share/nodejs/babel-plugin-add-module-exports/lib/
Upload File :
Current File : //proc/1784574/root/usr/share/nodejs/babel-plugin-add-module-exports/lib/index.js.map
{"version":3,"file":"index.js","names":["module","exports","template","pluginOptions","addModuleExportsDefaults","path","finder","ExportsFinder","isOnlyExportsDefault","isAmd","rootPath","getRootPath","node","body","push","addDefaultProperty","ExportsDefaultVisitor","CallExpression","get","matchesPattern","identifier","prop","objectName","propertyName","AssignmentExpression","visitor","Program","state","opts","post","fileMap","traverse","exportsDefaultPath","hasExportsDefault","hasExportsNamed","hasModuleExports","findParent","key","parentPath","forEach","isVariableDeclaration","findExports","isExpressionStatement","isAssignmentExpression","findExportsInCallExpression","property","self","hasntAmdRoot","amdRoot","isCallExpression"],"sources":["../src/index.js"],"sourcesContent":["// 1. find to `exports.default`\n// 2. find to all Expression(`exports.default`, `exports.foo` etc)\n// 3. add `module.exports` if exists only `exports.default` assignment\n// The above works after executing `preset-env`(transform-es2015-modules-*) in `Plugin.post`\n\nmodule.exports = ({ template }) => {\n  let pluginOptions\n\n  function addModuleExportsDefaults(path) {\n    const finder = new ExportsFinder(path)\n    if (!finder.isOnlyExportsDefault()) {\n      return\n    }\n    if (finder.isAmd()) {\n      return\n    }\n    const rootPath = finder.getRootPath()\n\n    // HACK: `path.node.body.push` instead of path.pushContainer(due doesn't work in Plugin.post)\n    rootPath.node.body.push(template('module.exports = exports.default')())\n    if (pluginOptions.addDefaultProperty) {\n      rootPath.node.body.push(template('module.exports.default = exports.default')())\n    }\n  }\n\n  const ExportsDefaultVisitor = {\n    CallExpression(path) {\n      if (!path.get('callee').matchesPattern('Object.defineProperty')) {\n        return\n      }\n\n      const [identifier, prop] = path.get('arguments')\n      const objectName = identifier.get('name').node\n      const propertyName = prop.get('value').node\n\n      if ((objectName === 'exports' || objectName === '_exports') && propertyName === 'default') {\n        addModuleExportsDefaults(path)\n      }\n    },\n    AssignmentExpression(path) {\n      if (\n        path.get('left').matchesPattern('exports.default') ||\n        path.get('left').matchesPattern('_exports.default')\n      ) {\n        addModuleExportsDefaults(path)\n      }\n    }\n  }\n\n  return {\n    visitor: {\n      Program(path, state) {\n        // HACK: can't get plugin options in Plugin.post\n        pluginOptions = state.opts\n      }\n    },\n    post(fileMap) {\n      fileMap.path.traverse(ExportsDefaultVisitor)\n    }\n  }\n}\n\nclass ExportsFinder {\n  constructor(exportsDefaultPath) {\n    this.path = exportsDefaultPath\n    this.hasExportsDefault = false\n    this.hasExportsNamed = false\n    this.hasModuleExports = false\n  }\n\n  getRootPath() {\n    return this.path.findParent(path => {\n      return path.key === 'body' || !path.parentPath\n    })\n  }\n\n  isOnlyExportsDefault() {\n    this.getRootPath()\n      .get('body')\n      .forEach(path => {\n        if (path.isVariableDeclaration()) {\n          this.findExports(path.get('declarations.0'), 'init')\n        } else if (\n          path.isExpressionStatement() &&\n          path.get('expression').isAssignmentExpression()\n        ) {\n          this.findExports(path)\n        } else {\n          this.findExportsInCallExpression(path)\n        }\n      })\n    return this.hasExportsDefault && !this.hasExportsNamed && !this.hasModuleExports\n  }\n\n  findExports(path, property = 'expression') {\n    // Not `exports.anything`, skip\n    if (\n      !path.get(`${property}`).node ||\n      !path.get(`${property}.left`).node ||\n      !path.get(`${property}.left.object`).node\n    ) {\n      return\n    }\n\n    const objectName = path.get(`${property}.left.object.name`).node\n    // Check name of  MemberExpressions and values of StringLiterals\n    const propertyName =\n      path.get(`${property}.left.property.name`).node ||\n      path.get(`${property}.left.property.value`).node\n    if (objectName === 'exports' || objectName === '_exports') {\n      if (propertyName === 'default') {\n        this.hasExportsDefault = true\n        this.findExports(path.get(property), 'right')\n      } else if (propertyName !== '__esModule') {\n        this.hasExportsNamed = true\n      }\n    }\n    if (`${objectName}.${propertyName}` === 'module.exports') {\n      this.hasModuleExports = true\n    }\n  }\n\n  findExportsInCallExpression(path) {\n    const self = this\n    path.traverse({\n      CallExpression(path) {\n        if (!path.get('callee').matchesPattern('Object.defineProperty')) {\n          return\n        }\n\n        const [identifier, prop] = path.get('arguments')\n        const objectName = identifier.get('name').node\n        const propertyName = prop.get('value').node\n\n        if (\n          (objectName === 'exports' || objectName === '_exports') &&\n          propertyName !== '__esModule'\n        ) {\n          if (propertyName === 'default') {\n            self.hasExportsDefault = true\n          } else {\n            self.hasExportsNamed = true\n          }\n        }\n      }\n    })\n  }\n\n  isAmd() {\n    const rootPath = this.getRootPath()\n    const hasntAmdRoot = !(rootPath.parentPath && rootPath.parentPath.parentPath)\n    if (hasntAmdRoot) {\n      return false\n    }\n\n    const amdRoot = rootPath.parentPath.parentPath\n    if (!amdRoot.isCallExpression()) {\n      return false\n    }\n    if (amdRoot.get('callee.name').node === 'define') {\n      return true\n    }\n    return false\n  }\n}\n"],"mappings":"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"}