pax_global_header00006660000000000000000000000064136476410030014516gustar00rootroot0000000000000052 comment=5fdba6e43d1cf8ec768e2cba251691c3ea67e78e babel-plugin-dynamic-import-node-2.3.3/000077500000000000000000000000001364764100300177415ustar00rootroot00000000000000babel-plugin-dynamic-import-node-2.3.3/.babelrc000066400000000000000000000002441364764100300213340ustar00rootroot00000000000000{ "presets": [ "airbnb" ], "plugins": [ "add-module-exports", ["transform-replace-object-assign", { "moduleSpecifier": "object.assign" }], ], } babel-plugin-dynamic-import-node-2.3.3/.eslintignore000066400000000000000000000000231364764100300224370ustar00rootroot00000000000000test/fixtures lib/ babel-plugin-dynamic-import-node-2.3.3/.eslintrc000066400000000000000000000001131364764100300215600ustar00rootroot00000000000000{ "parser": "babel-eslint", "extends": "airbnb-base", "root": true } babel-plugin-dynamic-import-node-2.3.3/.gitignore000066400000000000000000000012531364764100300217320ustar00rootroot00000000000000# Logs logs *.log npm-debug.log* # Runtime data pids *.pid *.seed # Directory for instrumented libs generated by jscoverage/JSCover lib-cov # Coverage directory used by tools like istanbul coverage # nyc test coverage .nyc_output # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) .grunt # node-waf configuration .lock-wscript # Compiled binary addons (http://nodejs.org/api/addons.html) build/Release # Dependency directories node_modules jspm_packages # Optional npm cache directory .npm # Optional REPL history .node_repl_history # Build library lib/ # Only apps should have lockfiles yarn.lock package-lock.json npm-shrinkwrap.json babel-plugin-dynamic-import-node-2.3.3/.npmignore000066400000000000000000000000131364764100300217320ustar00rootroot00000000000000src/ test/ babel-plugin-dynamic-import-node-2.3.3/.npmrc000066400000000000000000000000231364764100300210540ustar00rootroot00000000000000package-lock=false babel-plugin-dynamic-import-node-2.3.3/.travis.yml000066400000000000000000000012301364764100300220460ustar00rootroot00000000000000language: node_js node_js: - "13" - "12" - "11" - "10" - "9" - "8" - "7" - "6" - "5" - "4" - "iojs-v3" - "iojs-v2" - "iojs-v1" - "0.12" import: - ljharb/travis-ci:node/latest-npm.yml - ljharb/travis-ci:node/greenkeeper.yml - ljharb/travis-ci:node/dependabot.yml script: 'npm run tests-only' sudo: false env: - TEST=true matrix: fast_finish: true include: - node_js: "lts/*" env: PRETEST=true script: 'npm run pretest' allow_failures: - node_js: "9" - node_js: "7" - node_js: "5" - node_js: "iojs-v3" - node_js: "iojs-v2" - node_js: "iojs-v1" - env: TEST=true ALLOW_FAILURE=true babel-plugin-dynamic-import-node-2.3.3/CHANGELOG.md000066400000000000000000000053621364764100300215600ustar00rootroot00000000000000## Unreleased ## v2.3.3 - [Fix] Generate webpack-compatible output with static string arg (#84) - [Fix] Handle visiting the same path gracefully (#71) ## v2.3.2 - [Fix] avoid using reserved param name in babel 7 templates - [Dev Deps] update `airbnb-js-shims` ## v2.3.1 - [Fix] Evaluate `import()` argument synchronously (#85) - [Dev Deps] update `eslint`, `eslint-config-airbnb-base`, `in-publish`, `rimraf`, `safe-publish-latest`, `tape` ## v2.3.0 - [New] expose createDynamicImportTransform and getImportSource (#75) - [Docs] Document noInterop option (#70) ## v2.2.0 - [Refactor] remove dependency on babel-plugin-syntax-dynamic-import - [Dev Deps] update `airbnb-js-shims`, `babel-preset-airbnb`, `eslint` ## v2.1.0 - [New] add `noInterop` option (#57) - [Docs] Fix typo "correct" -> "correctly" in readme (#55) - [Dev Deps] update `airbnb-js-shims`, `babel-eslint`, `babel-preset-airbnb`, `eslint`, `eslint-config-airbnb-base`, `eslint-plugin-import`, `safe-publish-latest` ## v2.0.0 - [Breaking] always return a module namespace object (#52, #47) - [Breaking] remove `.default` on entry points (#27) - [Docs] removed $ before npm command (#35) - [Docs] Improve README.md with a code example (#41) - [Dev Deps] update `airbnb-js-shims`, `babel-core`, `babel-eslint`, `eslint`, `eslint-plugin-import` - [Tests] switch from mocha to tape, so we can support older nodes ## v1.2.0 - [New] support comments (#37) - [Refactor] Use template and types from the babel object (#32) - [Tests] on `node` `v9`; pin included builds to LTS - [Dev Deps] update `eslint`, `eslint-config-airbnb-base`, `mocha`, `rimraf` ## v1.1.0 - Visit Import nodes instead of CallExpressions (#30) - [Deps] update `babel-template`, `babel-types` - [Dev Deps] update `airbnb-js-shims`, `babel-cli`, `babel-core`, `babel-preset-airbnb`, `babel-register`, `chai`, `eslint`, `eslint-config-airbnb-base`, `eslint-plugin-import`, `mocha` - [Tests] on `node` `v8` - [Tests] use `nvm install-latest-npm` so newer npm doesn’t break older node ## v1.0.2 - [Fix] Ensure it works with the ES2015 preset too (#12, #16) - [Deps] update `babel-template`, `babel-types` - [Dev Deps] update `babel-cli`, `babel-core`, `babel-eslint`, `babel-register`, `eslint`, `eslint-config-airbnb-base`, `mocha` ## v1.0.1 - [Fix] Move `in-publish` to devDeps (#11) - [Fix] ensure dynamic `import()` input is properly stringified (#2) - [Fix] async timing of dynamic import to match spec (#3) - [Fix] Remove spaces in template strings and update Babel (#10) - [Deps] update `babel-template`, `babel-types` - [Deps] update `babel-types` (#4, #5, #6) - [Dev Deps] update `babel-cli`, `babel-core`, `babel-eslint`, `babel-register`, `eslint`, `eslint-config-airbnb-base`, `eslint-plugin-import`, `mocha`, `rimraf` ## v1.0.0 - Initial full release. babel-plugin-dynamic-import-node-2.3.3/LICENSE000066400000000000000000000020471364764100300207510ustar00rootroot00000000000000MIT License Copyright (c) 2016 Airbnb Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. babel-plugin-dynamic-import-node-2.3.3/README.md000066400000000000000000000021261364764100300212210ustar00rootroot00000000000000# babel-plugin-dynamic-import-node Babel plugin to transpile `import()` to a deferred `require()`, for node. Matches the [proposed spec](https://github.com/domenic/proposal-import-function). **NOTE:** Babylon >= v6.12.0 is required to correctly parse dynamic imports. ## Installation ```sh npm install babel-plugin-dynamic-import-node --save-dev ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["dynamic-import-node"] } ``` #### Options - *`noInterop`* - A boolean value, that if true will not interop the require calls. Useful to avoid using `require('module').default` on commonjs modules. ```json { "plugins": [ ["dynamic-import-node", { "noInterop": true }] ] } ``` ### Via CLI ```sh $ babel --plugins dynamic-import-node script.js ``` ### Via Node API ```javascript require('babel-core').transform('code', { plugins: ['dynamic-import-node'] }); ``` ### Code Example ```javascript Promise.all([ import('./lib/import1'), import('./lib/import2') ]).then(([ Import1, Import2 ]) => { console.log(Import1); /* CODE HERE*/ }); ``` babel-plugin-dynamic-import-node-2.3.3/package.json000066400000000000000000000054231364764100300222330ustar00rootroot00000000000000{ "name": "babel-plugin-dynamic-import-node", "version": "2.3.3", "description": "Babel plugin to transpile import() to a deferred require(), for node", "main": "lib/index.js", "directories": { "test": "test" }, "scripts": { "clean": "rimraf lib", "prebuild": "npm run clean", "build": "babel src --out-dir lib", "pretest": "npm run lint", "test": "npm run tests-only", "tests-only": "tape --require airbnb-js-shims --require babel-register test", "lint": "eslint .", "prepublish": "not-in-publish || (safe-publish-latest && npm run build)", "check-changelog": "expr $(git status --porcelain 2>/dev/null| grep \"^\\s*M.*CHANGELOG.md\" | wc -l) >/dev/null || (echo 'Please edit CHANGELOG.md' && exit 1)", "check-only-changelog-changed": "(expr $(git status --porcelain 2>/dev/null| grep -v \"CHANGELOG.md\" | wc -l) >/dev/null && echo 'Only CHANGELOG.md may have uncommitted changes' && exit 1) || exit 0", "version:major": "npm --no-git-tag-version version major", "version:minor": "npm --no-git-tag-version version minor", "version:patch": "npm --no-git-tag-version version patch", "postversion": "git commit package.json CHANGELOG.md -m \"v$npm_package_version\" && npm run tag && git push && git push --tags", "preversion": "npm run test && npm run check-changelog && npm run check-only-changelog-changed", "tag": "git tag v$npm_package_version" }, "repository": { "type": "git", "url": "git+https://github.com/airbnb/babel-plugin-dynamic-import-node.git" }, "keywords": [ "babel", "plugin", "dynamic", "import", "node" ], "author": "Jordan Gensler ", "license": "MIT", "bugs": { "url": "https://github.com/airbnb/babel-plugin-dynamic-import-node/issues" }, "homepage": "https://github.com/airbnb/babel-plugin-dynamic-import-node#readme", "devDependencies": { "@babel/core": "^7.9.0", "@babel/plugin-external-helpers": "^7.8.3", "@babel/plugin-transform-template-literals": "^7.8.3", "@babel/preset-env": "^7.9.5", "airbnb-js-shims": "^2.2.1", "babel-cli": "^6.26.0", "babel-core": "^6.26.3", "babel-eslint": "^9.0.0", "babel-plugin-add-module-exports": "^0.2.1", "babel-plugin-external-helpers": "^6.22.0", "babel-plugin-transform-es2015-template-literals": "^6.22.0", "babel-plugin-transform-replace-object-assign": "^1.0.0", "babel-preset-airbnb": "^2.6.0", "babel-preset-es2015": "^6.24.1", "babel-register": "^6.26.0", "eslint": "^6.8.0", "eslint-config-airbnb-base": "^14.1.0", "eslint-plugin-import": "^2.20.2", "in-publish": "^2.0.1", "rimraf": "^2.7.1", "safe-publish-latest": "^1.1.4", "tape": "^5.0.0-next.5" }, "dependencies": { "object.assign": "^4.1.0" } } babel-plugin-dynamic-import-node-2.3.3/src/000077500000000000000000000000001364764100300205305ustar00rootroot00000000000000babel-plugin-dynamic-import-node-2.3.3/src/index.js000066400000000000000000000010601364764100300221720ustar00rootroot00000000000000import { createDynamicImportTransform } from './utils'; export default function (api) { const transformImport = createDynamicImportTransform(api); return { // NOTE: Once we drop support for Babel <= v6 we should // update this to import from @babel/plugin-syntax-dynamic-import. // https://www.npmjs.com/package/@babel/plugin-syntax-dynamic-import manipulateOptions(opts, parserOpts) { parserOpts.plugins.push('dynamicImport'); }, visitor: { Import(path) { transformImport(this, path); }, }, }; } babel-plugin-dynamic-import-node-2.3.3/src/utils.js000066400000000000000000000030741364764100300222320ustar00rootroot00000000000000export function getImportSource(t, callNode) { const importArguments = callNode.arguments; const [importPath] = importArguments; const isString = t.isStringLiteral(importPath) || t.isTemplateLiteral(importPath); if (isString) { t.removeComments(importPath); return importPath; } return t.templateLiteral([ t.templateElement({ raw: '', cooked: '' }), t.templateElement({ raw: '', cooked: '' }, true), ], importArguments); } export function createDynamicImportTransform({ template, types: t }) { const builders = { static: { interop: template('Promise.resolve().then(() => INTEROP(require(SOURCE)))'), noInterop: template('Promise.resolve().then(() => require(SOURCE))'), }, dynamic: { interop: template('Promise.resolve(SOURCE).then(s => INTEROP(require(s)))'), noInterop: template('Promise.resolve(SOURCE).then(s => require(s))'), }, }; const visited = typeof WeakSet === 'function' && new WeakSet(); const isString = (node) => t.isStringLiteral(node) || (t.isTemplateLiteral(node) && node.expressions.length === 0); return (context, path) => { if (visited) { if (visited.has(path)) { return; } visited.add(path); } const SOURCE = getImportSource(t, path.parent); const builder = isString(SOURCE) ? builders.static : builders.dynamic; const newImport = context.opts.noInterop ? builder.noInterop({ SOURCE }) : builder.interop({ SOURCE, INTEROP: context.addHelper('interopRequireWildcard') }); path.parentPath.replaceWith(newImport); }; } babel-plugin-dynamic-import-node-2.3.3/test/000077500000000000000000000000001364764100300207205ustar00rootroot00000000000000babel-plugin-dynamic-import-node-2.3.3/test/.eslintrc000066400000000000000000000000471364764100300225450ustar00rootroot00000000000000{ "env": { "mocha": true, }, } babel-plugin-dynamic-import-node-2.3.3/test/fixtures/000077500000000000000000000000001364764100300225715ustar00rootroot00000000000000babel-plugin-dynamic-import-node-2.3.3/test/fixtures/basic-import/000077500000000000000000000000001364764100300251625ustar00rootroot00000000000000babel-plugin-dynamic-import-node-2.3.3/test/fixtures/basic-import/actual.js000066400000000000000000000000521364764100300267660ustar00rootroot00000000000000const testModule = import('test-module'); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/basic-import/expected.6.es2015.js000066400000000000000000000002001364764100300303730ustar00rootroot00000000000000var testModule = Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('test-module')); }); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/basic-import/expected.6.js000066400000000000000000000001561364764100300274670ustar00rootroot00000000000000const testModule = Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('test-module'))); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/basic-import/expected.6.noInterop.js000066400000000000000000000001111364764100300314320ustar00rootroot00000000000000const testModule = Promise.resolve().then(() => require('test-module')); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/basic-import/expected.7.es2015.js000066400000000000000000000002001364764100300303740ustar00rootroot00000000000000var testModule = Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('test-module')); }); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/basic-import/expected.7.js000066400000000000000000000001561364764100300274700ustar00rootroot00000000000000const testModule = Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('test-module'))); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/basic-import/expected.7.noInterop.js000066400000000000000000000001111364764100300314330ustar00rootroot00000000000000const testModule = Promise.resolve().then(() => require('test-module')); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/chained-import/000077500000000000000000000000001364764100300254745ustar00rootroot00000000000000babel-plugin-dynamic-import-node-2.3.3/test/fixtures/chained-import/actual.js000066400000000000000000000002371364764100300273050ustar00rootroot00000000000000import('test-module').then(() => ( import('test-module-2') )); Promise.all([ import('test-1'), import('test-2'), import('test-3'), ]).then(() => {}); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/chained-import/expected.6.es2015.js000066400000000000000000000011461364764100300307170ustar00rootroot00000000000000Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('test-module')); }).then(function () { return Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('test-module-2')); }); }); Promise.all([Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('test-1')); }), Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('test-2')); }), Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('test-3')); })]).then(function () {}); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/chained-import/expected.6.js000066400000000000000000000007441364764100300300040ustar00rootroot00000000000000Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('test-module'))).then(() => Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('test-module-2')))); Promise.all([Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('test-1'))), Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('test-2'))), Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('test-3')))]).then(() => {}); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/chained-import/expected.6.noInterop.js000066400000000000000000000004531364764100300317550ustar00rootroot00000000000000Promise.resolve().then(() => require('test-module')).then(() => Promise.resolve().then(() => require('test-module-2'))); Promise.all([Promise.resolve().then(() => require('test-1')), Promise.resolve().then(() => require('test-2')), Promise.resolve().then(() => require('test-3'))]).then(() => {}); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/chained-import/expected.7.es2015.js000066400000000000000000000011451364764100300307170ustar00rootroot00000000000000Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('test-module')); }).then(function () { return Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('test-module-2')); }); }); Promise.all([Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('test-1')); }), Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('test-2')); }), Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('test-3')); })]).then(function () {}); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/chained-import/expected.7.js000066400000000000000000000007431364764100300300040ustar00rootroot00000000000000Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('test-module'))).then(() => Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('test-module-2')))); Promise.all([Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('test-1'))), Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('test-2'))), Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('test-3')))]).then(() => {}); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/chained-import/expected.7.noInterop.js000066400000000000000000000004521364764100300317550ustar00rootroot00000000000000Promise.resolve().then(() => require('test-module')).then(() => Promise.resolve().then(() => require('test-module-2'))); Promise.all([Promise.resolve().then(() => require('test-1')), Promise.resolve().then(() => require('test-2')), Promise.resolve().then(() => require('test-3'))]).then(() => {}); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/dynamic-argument/000077500000000000000000000000001364764100300260355ustar00rootroot00000000000000babel-plugin-dynamic-import-node-2.3.3/test/fixtures/dynamic-argument/actual.js000066400000000000000000000001761364764100300276500ustar00rootroot00000000000000import(MODULE); let i = 0; import(i++); import(fn()); async () => import(await "x"); function* f() { import(yield "x"); } babel-plugin-dynamic-import-node-2.3.3/test/fixtures/dynamic-argument/expected.6.es2015.js000066400000000000000000000037571364764100300312720ustar00rootroot00000000000000var _this = this; var _marked = /*#__PURE__*/regeneratorRuntime.mark(f); Promise.resolve("" + String(MODULE)).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); var i = 0; Promise.resolve("" + i++).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve("" + String(fn())).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); babelHelpers.asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { return regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.t0 = Promise; _context.t1 = String; _context.next = 4; return "x"; case 4: _context.t2 = _context.sent; _context.t3 = (0, _context.t1)(_context.t2); _context.t4 = "" + _context.t3; _context.t5 = function (s) { return babelHelpers.interopRequireWildcard(require(s)); }; return _context.abrupt("return", _context.t0.resolve.call(_context.t0, _context.t4).then(_context.t5)); case 9: case "end": return _context.stop(); } } }, _callee, _this); })); function f() { return regeneratorRuntime.wrap(function f$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.t0 = Promise; _context2.t1 = String; _context2.next = 4; return "x"; case 4: _context2.t2 = _context2.sent; _context2.t3 = (0, _context2.t1)(_context2.t2); _context2.t4 = "" + _context2.t3; _context2.t5 = function (s) { return babelHelpers.interopRequireWildcard(require(s)); }; _context2.t0.resolve.call(_context2.t0, _context2.t4).then(_context2.t5); case 9: case "end": return _context2.stop(); } } }, _marked, this); } babel-plugin-dynamic-import-node-2.3.3/test/fixtures/dynamic-argument/expected.6.js000066400000000000000000000007551364764100300303470ustar00rootroot00000000000000Promise.resolve(`${MODULE}`).then(s => babelHelpers.interopRequireWildcard(require(s))); let i = 0; Promise.resolve(`${i++}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`${fn()}`).then(s => babelHelpers.interopRequireWildcard(require(s))); async () => Promise.resolve(`${await "x"}`).then(s => babelHelpers.interopRequireWildcard(require(s))); function* f() { Promise.resolve(`${yield "x"}`).then(s => babelHelpers.interopRequireWildcard(require(s))); } babel-plugin-dynamic-import-node-2.3.3/test/fixtures/dynamic-argument/expected.6.noInterop.js000066400000000000000000000004641364764100300323200ustar00rootroot00000000000000Promise.resolve(`${MODULE}`).then(s => require(s)); let i = 0; Promise.resolve(`${i++}`).then(s => require(s)); Promise.resolve(`${fn()}`).then(s => require(s)); async () => Promise.resolve(`${await "x"}`).then(s => require(s)); function* f() { Promise.resolve(`${yield "x"}`).then(s => require(s)); } babel-plugin-dynamic-import-node-2.3.3/test/fixtures/dynamic-argument/expected.7.es2015.js000066400000000000000000000035311364764100300312610ustar00rootroot00000000000000var _marked = /*#__PURE__*/regeneratorRuntime.mark(f); Promise.resolve("".concat(MODULE)).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); var i = 0; Promise.resolve("".concat(i++)).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve("".concat(fn())).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); /*#__PURE__*/ babelHelpers.asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { return regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.t0 = Promise; _context.t1 = ""; _context.next = 4; return "x"; case 4: _context.t2 = _context.sent; _context.t3 = _context.t1.concat.call(_context.t1, _context.t2); return _context.abrupt("return", _context.t0.resolve.call(_context.t0, _context.t3).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); })); case 7: case "end": return _context.stop(); } } }, _callee); })); function f() { return regeneratorRuntime.wrap(function f$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.t0 = Promise; _context2.t1 = ""; _context2.next = 4; return "x"; case 4: _context2.t2 = _context2.sent; _context2.t3 = _context2.t1.concat.call(_context2.t1, _context2.t2); _context2.t0.resolve.call(_context2.t0, _context2.t3).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); case 7: case "end": return _context2.stop(); } } }, _marked); } babel-plugin-dynamic-import-node-2.3.3/test/fixtures/dynamic-argument/expected.7.js000066400000000000000000000007531364764100300303460ustar00rootroot00000000000000Promise.resolve(`${MODULE}`).then(s => babelHelpers.interopRequireWildcard(require(s))); let i = 0; Promise.resolve(`${i++}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`${fn()}`).then(s => babelHelpers.interopRequireWildcard(require(s))); async () => Promise.resolve(`${await "x"}`).then(s => babelHelpers.interopRequireWildcard(require(s))); function* f() { Promise.resolve(`${yield "x"}`).then(s => babelHelpers.interopRequireWildcard(require(s))); } babel-plugin-dynamic-import-node-2.3.3/test/fixtures/dynamic-argument/expected.7.noInterop.js000066400000000000000000000004621364764100300323170ustar00rootroot00000000000000Promise.resolve(`${MODULE}`).then(s => require(s)); let i = 0; Promise.resolve(`${i++}`).then(s => require(s)); Promise.resolve(`${fn()}`).then(s => require(s)); async () => Promise.resolve(`${await "x"}`).then(s => require(s)); function* f() { Promise.resolve(`${yield "x"}`).then(s => require(s)); } babel-plugin-dynamic-import-node-2.3.3/test/fixtures/import-with-comment/000077500000000000000000000000001364764100300265145ustar00rootroot00000000000000babel-plugin-dynamic-import-node-2.3.3/test/fixtures/import-with-comment/actual.js000066400000000000000000000001211364764100300303150ustar00rootroot00000000000000import(/* test comment */ 'my-module'); import('my-module' /* test comment */ ); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/import-with-comment/expected.6.es2015.js000066400000000000000000000003321364764100300317330ustar00rootroot00000000000000Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('my-module')); }); Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('my-module')); }); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/import-with-comment/expected.6.js000066400000000000000000000002621364764100300310170ustar00rootroot00000000000000Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('my-module'))); Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('my-module'))); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/import-with-comment/expected.6.noInterop.js000066400000000000000000000001501364764100300327670ustar00rootroot00000000000000Promise.resolve().then(() => require('my-module')); Promise.resolve().then(() => require('my-module')); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/import-with-comment/expected.7.es2015.js000066400000000000000000000003321364764100300317340ustar00rootroot00000000000000Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('my-module')); }); Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('my-module')); }); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/import-with-comment/expected.7.js000066400000000000000000000002621364764100300310200ustar00rootroot00000000000000Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('my-module'))); Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('my-module'))); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/import-with-comment/expected.7.noInterop.js000066400000000000000000000001501364764100300327700ustar00rootroot00000000000000Promise.resolve().then(() => require('my-module')); Promise.resolve().then(() => require('my-module')); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/nested-import/000077500000000000000000000000001364764100300253635ustar00rootroot00000000000000babel-plugin-dynamic-import-node-2.3.3/test/fixtures/nested-import/actual.js000066400000000000000000000001321364764100300271660ustar00rootroot00000000000000function getModule(path) { return import('test-module'); } getModule().then(() => {}); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/nested-import/expected.6.es2015.js000066400000000000000000000002741364764100300306070ustar00rootroot00000000000000function getModule(path) { return Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('test-module')); }); } getModule().then(function () {}); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/nested-import/expected.6.js000066400000000000000000000002361364764100300276670ustar00rootroot00000000000000function getModule(path) { return Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('test-module'))); } getModule().then(() => {}); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/nested-import/expected.6.noInterop.js000066400000000000000000000001711364764100300316410ustar00rootroot00000000000000function getModule(path) { return Promise.resolve().then(() => require('test-module')); } getModule().then(() => {}); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/nested-import/expected.7.es2015.js000066400000000000000000000002741364764100300306100ustar00rootroot00000000000000function getModule(path) { return Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require('test-module')); }); } getModule().then(function () {}); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/nested-import/expected.7.js000066400000000000000000000002361364764100300276700ustar00rootroot00000000000000function getModule(path) { return Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require('test-module'))); } getModule().then(() => {}); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/nested-import/expected.7.noInterop.js000066400000000000000000000001711364764100300316420ustar00rootroot00000000000000function getModule(path) { return Promise.resolve().then(() => require('test-module')); } getModule().then(() => {}); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/non-string-argument/000077500000000000000000000000001364764100300265075ustar00rootroot00000000000000babel-plugin-dynamic-import-node-2.3.3/test/fixtures/non-string-argument/actual.js000066400000000000000000000002171364764100300303160ustar00rootroot00000000000000import({ 'answer': 42 }); import(['foo', 'bar']); import(42); import(void 0); import(undefined); import(null); import(true); import(Symbol()); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/non-string-argument/expected.6.es2015.js000066400000000000000000000016771364764100300317430ustar00rootroot00000000000000Promise.resolve('' + String({ 'answer': 42 })).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve('' + String(['foo', 'bar'])).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve('' + 42).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve('' + String(void 0)).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve('' + String(undefined)).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve('' + String(null)).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve('' + String(true)).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve('' + String(Symbol())).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/non-string-argument/expected.6.js000066400000000000000000000013271364764100300310150ustar00rootroot00000000000000Promise.resolve(`${{ 'answer': 42 }}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`${['foo', 'bar']}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`${42}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`${void 0}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`${undefined}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`${null}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`${true}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`${Symbol()}`).then(s => babelHelpers.interopRequireWildcard(require(s))); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/non-string-argument/expected.6.noInterop.js000066400000000000000000000006571364764100300327760ustar00rootroot00000000000000Promise.resolve(`${{ 'answer': 42 }}`).then(s => require(s)); Promise.resolve(`${['foo', 'bar']}`).then(s => require(s)); Promise.resolve(`${42}`).then(s => require(s)); Promise.resolve(`${void 0}`).then(s => require(s)); Promise.resolve(`${undefined}`).then(s => require(s)); Promise.resolve(`${null}`).then(s => require(s)); Promise.resolve(`${true}`).then(s => require(s)); Promise.resolve(`${Symbol()}`).then(s => require(s)); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/non-string-argument/expected.7.es2015.js000066400000000000000000000016711364764100300317360ustar00rootroot00000000000000Promise.resolve("".concat({ 'answer': 42 })).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve("".concat(['foo', 'bar'])).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve("".concat(42)).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve("".concat(void 0)).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve("".concat(undefined)).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve("".concat(null)).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve("".concat(true)).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve("".concat(Symbol())).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/non-string-argument/expected.7.js000066400000000000000000000013311364764100300310110ustar00rootroot00000000000000Promise.resolve(`${{ 'answer': 42 }}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`${['foo', 'bar']}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`${42}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`${void 0}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`${undefined}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`${null}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`${true}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`${Symbol()}`).then(s => babelHelpers.interopRequireWildcard(require(s))); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/non-string-argument/expected.7.noInterop.js000066400000000000000000000006611364764100300327720ustar00rootroot00000000000000Promise.resolve(`${{ 'answer': 42 }}`).then(s => require(s)); Promise.resolve(`${['foo', 'bar']}`).then(s => require(s)); Promise.resolve(`${42}`).then(s => require(s)); Promise.resolve(`${void 0}`).then(s => require(s)); Promise.resolve(`${undefined}`).then(s => require(s)); Promise.resolve(`${null}`).then(s => require(s)); Promise.resolve(`${true}`).then(s => require(s)); Promise.resolve(`${Symbol()}`).then(s => require(s)); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/template-argument/000077500000000000000000000000001364764100300262245ustar00rootroot00000000000000babel-plugin-dynamic-import-node-2.3.3/test/fixtures/template-argument/actual.js000066400000000000000000000000661364764100300300350ustar00rootroot00000000000000import(`1`); import(tag`2`); import(`3-${MODULE}`); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/template-argument/expected.6.es2015.js000066400000000000000000000006561364764100300314540ustar00rootroot00000000000000var _templateObject = babelHelpers.taggedTemplateLiteral(["2"], ["2"]); Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require("1")); }); Promise.resolve("" + String(tag(_templateObject))).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve("3-" + String(MODULE)).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/template-argument/expected.6.js000066400000000000000000000004071364764100300305300ustar00rootroot00000000000000Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require(`1`))); Promise.resolve(`${tag`2`}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`3-${MODULE}`).then(s => babelHelpers.interopRequireWildcard(require(s))); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/template-argument/expected.6.noInterop.js000066400000000000000000000002301364764100300324760ustar00rootroot00000000000000Promise.resolve().then(() => require(`1`)); Promise.resolve(`${tag`2`}`).then(s => require(s)); Promise.resolve(`3-${MODULE}`).then(s => require(s)); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/template-argument/expected.7.es2015.js000066400000000000000000000010211364764100300314400ustar00rootroot00000000000000function _templateObject() { var data = babelHelpers.taggedTemplateLiteral(["2"]); _templateObject = function _templateObject() { return data; }; return data; } Promise.resolve().then(function () { return babelHelpers.interopRequireWildcard(require("1")); }); Promise.resolve("".concat(tag(_templateObject()))).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); Promise.resolve("3-".concat(MODULE)).then(function (s) { return babelHelpers.interopRequireWildcard(require(s)); }); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/template-argument/expected.7.js000066400000000000000000000004051364764100300305270ustar00rootroot00000000000000Promise.resolve().then(() => babelHelpers.interopRequireWildcard(require(`1`))); Promise.resolve(`${tag`2`}`).then(s => babelHelpers.interopRequireWildcard(require(s))); Promise.resolve(`3-${MODULE}`).then(s => babelHelpers.interopRequireWildcard(require(s))); babel-plugin-dynamic-import-node-2.3.3/test/fixtures/template-argument/expected.7.noInterop.js000066400000000000000000000002261364764100300325040ustar00rootroot00000000000000Promise.resolve().then(() => require(`1`)); Promise.resolve(`${tag`2`}`).then(s => require(s)); Promise.resolve(`3-${MODULE}`).then(s => require(s)); babel-plugin-dynamic-import-node-2.3.3/test/index.js000066400000000000000000000061711364764100300223720ustar00rootroot00000000000000import test from 'tape'; import { join } from 'path'; import { readdirSync, statSync, readFileSync, writeFileSync, } from 'fs'; import testPlugin from './testPlugin'; const FIXTURE_PATH = join(__dirname, 'fixtures'); const testFolders = readdirSync(FIXTURE_PATH).filter((file) => ( statSync(join(FIXTURE_PATH, file)).isDirectory() )); // Babel 7 only supports node 6+ const versions = Number(process.version.match(/\d+/)[0]) >= 6 ? [6, 7] : [6]; const pkgs = { 6: { env: 'env', es2015: 'es2015', templates: 'transform-es2015-template-literals', }, 7: { env: '@babel/env', templates: '@babel/transform-template-literals', }, }; function normalize(output) { return `${output.trim()}\n`; } function tryRead(folder, file) { try { return readFileSync(join(FIXTURE_PATH, folder, file), 'utf8'); } catch (e) { return ''; } } function assertOrWrite(st, result, expected, folder, file) { if (process.env.OVERWRITE) { writeFileSync(join(FIXTURE_PATH, folder, file), normalize(result)); } else { st.equal(normalize(result), normalize(expected)); } } test('babel-plugin-dynamic-import-node', (t) => { testFolders.forEach((folderName) => { const actual = tryRead(folderName, 'actual.js'); versions.forEach((version) => { const expected = tryRead(folderName, `expected.${version}.js`); const expectedES2015 = tryRead(folderName, `expected.${version}.es2015.js`); const expectedNoInterop = tryRead(folderName, `expected.${version}.noInterop.js`); t.test(`babel ${version} - works with ${folderName}`, (st) => { const result = testPlugin(version, actual); assertOrWrite(st, result, expected, folderName, `expected.${version}.js`); st.end(); }); t.test(`babel ${version} - works with ${folderName} and the 'noInterop': true option`, (st) => { const result = testPlugin(version, actual, [], [], { noInterop: true }); assertOrWrite(st, result, expectedNoInterop, folderName, `expected.${version}.noInterop.js`); st.end(); }); t.test(`babel ${version} - works with ${folderName} and the env preset`, (st) => { const result = testPlugin( version, actual, // Disable modules, otherwise it includes a different version of this plugin [[pkgs[version].env, { modules: false }]], [[pkgs[version].templates, { spec: true }]], ); assertOrWrite(st, result, expectedES2015, folderName, `expected.${version}.es2015.js`); st.end(); }); if (version === 6 && !process.env.OVERWRITE // The es2015 and env presets have two different output with async functions && folderName !== 'dynamic-argument') { t.test(`babel ${version} - works with ${folderName} and the es2015 preset`, (st) => { const result = testPlugin( version, actual, [[pkgs[version].es2015, { modules: false }]], [[pkgs[version].templates, { spec: true }]], ); st.equal(normalize(result), normalize(expectedES2015)); st.end(); }); } }); }); t.end(); }); babel-plugin-dynamic-import-node-2.3.3/test/testPlugin.js000066400000000000000000000011331364764100300234120ustar00rootroot00000000000000import * as babel6 from 'babel-core'; // This can't be imported in node 4. // eslint-disable-next-line global-require const babel7lazy = () => require('@babel/core'); export default function testPlugin(version, code, presets, plugins, options = {}) { const transform = version === 6 ? babel6.transform : babel7lazy().transformSync; const helpers = version === 6 ? 'external-helpers' : '@babel/external-helpers'; const result = transform(code, { presets: [].concat(presets || []), plugins: [].concat(plugins || [], [['./src/index.js', options], helpers]), }); return result.code; } babel-plugin-dynamic-import-node-2.3.3/utils.js000066400000000000000000000003631364764100300214410ustar00rootroot00000000000000// Re-export lib/utils, so that consumers can import // babel-plugin-dynamic-import-node/utils instead of // babel-plugin-dynamic-import-node/lib/utils // eslint-disable-next-line import/no-unresolved module.exports = require('./lib/utils');