From 16ed3f3c5a01187579092dc40e6ee64c11010d77 Mon Sep 17 00:00:00 2001 From: Lukas Taegert-Atkinson Date: Fri, 30 Sep 2022 06:46:49 +0200 Subject: [PATCH] fix(dynamic-import-vars): prepare for Rollup 3 BREAKING CHANGES: Requires Node 14 --- packages/dynamic-import-vars/README.md | 2 +- packages/dynamic-import-vars/package.json | 38 ++-- packages/dynamic-import-vars/rollup.config.js | 10 - .../dynamic-import-vars/rollup.config.mjs | 11 ++ .../test/node_modules/current-package | 1 + .../rollup-plugin-dynamic-import-vars.test.js | 2 +- ...llup-plugin-dynamic-import-variables.js.md | 181 ------------------ ...up-plugin-dynamic-import-variables.js.snap | Bin 904 -> 0 bytes ...llup-plugin-dynamic-import-vars.test.js.md | 68 +++---- ...up-plugin-dynamic-import-vars.test.js.snap | Bin 998 -> 951 bytes ...est.js => dynamic-import-to-glob.test.mjs} | 95 +++++---- pnpm-lock.yaml | 31 +-- 12 files changed, 127 insertions(+), 312 deletions(-) delete mode 100755 packages/dynamic-import-vars/rollup.config.js create mode 100755 packages/dynamic-import-vars/rollup.config.mjs create mode 120000 packages/dynamic-import-vars/test/node_modules/current-package delete mode 100644 packages/dynamic-import-vars/test/snapshots/rollup-plugin-dynamic-import-variables.js.md delete mode 100644 packages/dynamic-import-vars/test/snapshots/rollup-plugin-dynamic-import-variables.js.snap rename packages/dynamic-import-vars/test/src/{dynamic-import-to-glob.test.js => dynamic-import-to-glob.test.mjs} (60%) diff --git a/packages/dynamic-import-vars/README.md b/packages/dynamic-import-vars/README.md index cb157bf76..5880cd909 100644 --- a/packages/dynamic-import-vars/README.md +++ b/packages/dynamic-import-vars/README.md @@ -19,7 +19,7 @@ function importLocale(locale) { ## Requirements -This plugin requires an [LTS](https://github.com/nodejs/Release) Node version (v10.0.0+) and Rollup v1.20.0+. +This plugin requires an [LTS](https://github.com/nodejs/Release) Node version (v14.0.0+) and Rollup v1.20.0+. ## Install diff --git a/packages/dynamic-import-vars/package.json b/packages/dynamic-import-vars/package.json index 5bb3eb790..3735a5fef 100644 --- a/packages/dynamic-import-vars/package.json +++ b/packages/dynamic-import-vars/package.json @@ -13,10 +13,15 @@ "author": "LarsDenBakker", "homepage": "https://github.com/rollup/plugins/tree/master/packages/dynamic-import-vars", "bugs": "https://github.com/rollup/plugins/issues", - "main": "dist/index.js", - "module": "dist/index.es.js", + "main": "./dist/cjs/index.js", + "module": "./dist/es/index.js", + "exports": { + "import": "./dist/es/index.js", + "types": "./types/index.d.ts", + "default": "./dist/cjs/index.js" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=14.0.0" }, "scripts": { "build": "rollup -c", @@ -32,6 +37,7 @@ }, "files": [ "dist", + "!dist/**/*.map", "types", "README.md", "LICENSE" @@ -48,25 +54,27 @@ "interpolation" ], "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } }, "dependencies": { - "@rollup/pluginutils": "^4.1.2", - "estree-walker": "^2.0.1", - "fast-glob": "^3.2.7", - "magic-string": "^0.25.7" + "@rollup/pluginutils": "^4.2.1", + "estree-walker": "^2.0.2", + "fast-glob": "^3.2.12", + "magic-string": "^0.26.4" }, "devDependencies": { - "acorn": "^7.3.1", - "acorn-dynamic-import": "^4.0.0", - "prettier": "^2.0.5", - "rollup": "^2.67.3" + "acorn": "^8.8.0", + "prettier": "^2.7.1", + "rollup": "^3.0.0-7" }, "types": "./types/index.d.ts", "ava": { - "babel": { - "compileEnhancements": false - }, + "workerThreads": false, "files": [ "!**/fixtures/**", "!**/snapshots/**" diff --git a/packages/dynamic-import-vars/rollup.config.js b/packages/dynamic-import-vars/rollup.config.js deleted file mode 100755 index 5625775d6..000000000 --- a/packages/dynamic-import-vars/rollup.config.js +++ /dev/null @@ -1,10 +0,0 @@ -import pkg from './package.json'; - -export default { - input: 'src/index.js', - external: [...Object.keys(pkg.dependencies), 'path'], - output: [ - { file: pkg.main, format: 'cjs', exports: 'named' }, - { file: pkg.module, format: 'es' } - ] -}; diff --git a/packages/dynamic-import-vars/rollup.config.mjs b/packages/dynamic-import-vars/rollup.config.mjs new file mode 100755 index 000000000..80558c224 --- /dev/null +++ b/packages/dynamic-import-vars/rollup.config.mjs @@ -0,0 +1,11 @@ +import { readFileSync } from 'fs'; + +import { createConfig } from '../../shared/rollup.config.mjs'; + +export default { + ...createConfig({ + pkg: JSON.parse(readFileSync(new URL('./package.json', import.meta.url), 'utf8')) + }), + input: 'src/index.js', + plugins: [] +}; diff --git a/packages/dynamic-import-vars/test/node_modules/current-package b/packages/dynamic-import-vars/test/node_modules/current-package new file mode 120000 index 000000000..c25bddb6d --- /dev/null +++ b/packages/dynamic-import-vars/test/node_modules/current-package @@ -0,0 +1 @@ +../.. \ No newline at end of file diff --git a/packages/dynamic-import-vars/test/rollup-plugin-dynamic-import-vars.test.js b/packages/dynamic-import-vars/test/rollup-plugin-dynamic-import-vars.test.js index 0d16393ed..fbd3a4f40 100644 --- a/packages/dynamic-import-vars/test/rollup-plugin-dynamic-import-vars.test.js +++ b/packages/dynamic-import-vars/test/rollup-plugin-dynamic-import-vars.test.js @@ -5,7 +5,7 @@ const { join } = require('path'); const test = require('ava'); const { rollup } = require('rollup'); -const dynamicImportVars = require('../dist/index').default; +const dynamicImportVars = require('current-package'); process.chdir(join(__dirname, 'fixtures')); diff --git a/packages/dynamic-import-vars/test/snapshots/rollup-plugin-dynamic-import-variables.js.md b/packages/dynamic-import-vars/test/snapshots/rollup-plugin-dynamic-import-variables.js.md deleted file mode 100644 index b8028d46d..000000000 --- a/packages/dynamic-import-vars/test/snapshots/rollup-plugin-dynamic-import-variables.js.md +++ /dev/null @@ -1,181 +0,0 @@ -# Snapshot report for `test/rollup-plugin-dynamic-import-variables.js` - -The actual snapshot is saved in `rollup-plugin-dynamic-import-variables.js.snap`. - -Generated by [AVA](https://ava.li). - -## can exclude files - -> Snapshot 1 - - `function importModule(name) {␊ - return import(`./module-dir-a/${name}.js`);␊ - }␊ - ␊ - export { importModule };␊ - ` - -## complex concatenation - -> Snapshot 1 - - `function __variableDynamicImportRuntime0__(path) {␊ - switch (path) {␊ - case './module-dir-a/module-a-1.js': return import('./module-a-1-80325d58.js');␊ - case './module-dir-a/module-a-2.js': return import('./module-a-2-173cc5f5.js');␊ - case './module-dir-b/module-b-1.js': return import('./module-b-1-72e7a68a.js');␊ - case './module-dir-b/module-b-2.js': return import('./module-b-2-4b67cae0.js');␊ - default: throw new Error("Unknown variable dynamic import: " + path);␊ - }␊ - }␊ - ␊ - function importModule(dirName, name) {␊ - return __variableDynamicImportRuntime0__(`./${`module-dir-${dirName}`}` + '/' + name + '.js');␊ - }␊ - ␊ - export { importModule };␊ - ` - -## doesn't change imports that should not be changed - -> Snapshot 1 - - `console.log("a-1");␊ - ␊ - function importModuleA() {␊ - return import('./module-a-2-173cc5f5.js');␊ - }␊ - ␊ - function importModuleB() {␊ - return import('./' + 'module-dir-a' + '/' + 'module-a-2' + '.js');␊ - }␊ - ␊ - export { importModuleA, importModuleB };␊ - ` - -## multiple dirs - -> Snapshot 1 - - `function __variableDynamicImportRuntime0__(path) {␊ - switch (path) {␊ - case './module-dir-a/module-a-1.js': return import('./module-a-1-80325d58.js');␊ - case './module-dir-a/module-a-2.js': return import('./module-a-2-173cc5f5.js');␊ - case './module-dir-b/module-b-1.js': return import('./module-b-1-72e7a68a.js');␊ - case './module-dir-b/module-b-2.js': return import('./module-b-2-4b67cae0.js');␊ - case './sub-dir/fixture-upwards-path.js': return import('./fixture-upwards-path-b912919e.js');␊ - default: throw new Error("Unknown variable dynamic import: " + path);␊ - }␊ - }␊ - ␊ - function importModule(dir, name) {␊ - return __variableDynamicImportRuntime0__(`./${dir}/${name}.js`);␊ - }␊ - ␊ - export { importModule };␊ - ` - -## multiple dynamic imports - -> Snapshot 1 - - `function __variableDynamicImportRuntime2__(path) {␊ - switch (path) {␊ - case './module-dir-a/module-a-1.js': return import('./module-a-1-80325d58.js');␊ - case './module-dir-a/module-a-2.js': return import('./module-a-2-173cc5f5.js');␊ - case './module-dir-b/module-b-1.js': return import('./module-b-1-72e7a68a.js');␊ - case './module-dir-b/module-b-2.js': return import('./module-b-2-4b67cae0.js');␊ - case './sub-dir/fixture-upwards-path.js': return import('./fixture-upwards-path-b912919e.js');␊ - default: throw new Error("Unknown variable dynamic import: " + path);␊ - }␊ - }␊ - ␊ - function __variableDynamicImportRuntime1__(path) {␊ - switch (path) {␊ - case './module-dir-a/module-a-1.js': return import('./module-a-1-80325d58.js');␊ - case './module-dir-a/module-a-2.js': return import('./module-a-2-173cc5f5.js');␊ - default: throw new Error("Unknown variable dynamic import: " + path);␊ - }␊ - }␊ - ␊ - function __variableDynamicImportRuntime0__(path) {␊ - switch (path) {␊ - case './module-dir-a/module-a-1.js': return import('./module-a-1-80325d58.js');␊ - case './module-dir-a/module-a-2.js': return import('./module-a-2-173cc5f5.js');␊ - default: throw new Error("Unknown variable dynamic import: " + path);␊ - }␊ - }␊ - ␊ - class Foo {␊ - importModule(name) {␊ - return __variableDynamicImportRuntime0__(`./module-dir-a/${name}.js`);␊ - }␊ - }␊ - ␊ - __variableDynamicImportRuntime1__(`./module-dir-a/${name}.js`).then((module) => {␊ - console.log('imported', module);␊ - });␊ - ␊ - function importModuleFromDir(dir, name) {␊ - return __variableDynamicImportRuntime2__(`./${dir}/${name}.js`);␊ - }␊ - ␊ - export { Foo, importModuleFromDir };␊ - ` - -## own directory - -> Snapshot 1 - - `function __variableDynamicImportRuntime0__(path) {␊ - switch (path) {␊ - case './root-module-a.js': return import('./root-module-a-0cd41d7c.js');␊ - case './root-module-b.js': return import('./root-module-b-decca893.js');␊ - default: throw new Error("Unknown variable dynamic import: " + path);␊ - }␊ - }␊ - ␊ - function importModule(name) {␊ - return __variableDynamicImportRuntime0__(`./root-module-${name}.js`);␊ - }␊ - ␊ - export { importModule };␊ - ` - -## single dir - -> Snapshot 1 - - `function __variableDynamicImportRuntime0__(path) {␊ - switch (path) {␊ - case './module-dir-a/module-a-1.js': return import('./module-a-1-80325d58.js');␊ - case './module-dir-a/module-a-2.js': return import('./module-a-2-173cc5f5.js');␊ - default: throw new Error("Unknown variable dynamic import: " + path);␊ - }␊ - }␊ - ␊ - function importModule(name) {␊ - return __variableDynamicImportRuntime0__(`./module-dir-a/${name}.js`);␊ - }␊ - ␊ - export { importModule };␊ - ` - -## upwards dir path - -> Snapshot 1 - - `function __variableDynamicImportRuntime0__(path) {␊ - switch (path) {␊ - case '../module-dir-a/module-a-1.js': return import('./module-a-1-80325d58.js');␊ - case '../module-dir-a/module-a-2.js': return import('./module-a-2-173cc5f5.js');␊ - default: throw new Error("Unknown variable dynamic import: " + path);␊ - }␊ - }␊ - ␊ - function importModule(name) {␊ - return __variableDynamicImportRuntime0__(`../module-dir-a/${name}.js`);␊ - }␊ - ␊ - export { importModule };␊ - ` diff --git a/packages/dynamic-import-vars/test/snapshots/rollup-plugin-dynamic-import-variables.js.snap b/packages/dynamic-import-vars/test/snapshots/rollup-plugin-dynamic-import-variables.js.snap deleted file mode 100644 index d1a0e78be94488d5843b5d0673c212c4f44aa417..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 904 zcmV;319$vERzVV@ zI%`iQdT`n}*fv=v1?@O;n-MIk&&t4%;$bc8yi56V{-Z@4cOT4{#t0Vu#>T)fYIg<-S)Kh{ zKlg&!jkeXbj9}5bf(#6k`JSDP^P8@CqIN^}wTi7Fj9}3lLJSPd4D4VZFtRcTGG?Te z<|UV8=I1G7<`(1^mH6hTl;)&r^mD-~bW<{mbQASe zszEAi^|Fc+G_AR6xwuj*KGDJUc-7N;txqd5%9Nz^q2x=q~*%^L{S zKn1!M2F6CFDW(=6l|Ww*VW<%yLydF|&5e_jP18(~4NXZ+ODxSPu~I0>D9SHa$V)9( za4jmzFVav7&CAZqFV9neg@r;2Bru?6TPY|hXe)qy4K}Kl3y8Rgj5@+0Or==8!Zadd z6^o%sFisL7mjV^&nj58>Cz@F#5^pF0mjV^&nk1Q-Cnu&FU^BG1Gzny)ep+S)(129k z(t`5DqLgA?Pz2yG8JkkwBuhghOGC?4x~FlV<8>6sOXw=qK+Uz}Ch;A#D7cF9^GkGL zi3~^hqo~m}NKP>^OfgT!7P-hOlZY@4m=sczlM^j0jfY54h3t4TqcM(+$Y?YgEvZIJ zDiV`8{uE_6tWwm#gyHaNKTtUglXDV_ixu4R^T8p3qr9bB;}B#k&{D!_9-lFKB^jxC z8X6FJO$A#!up5)}^NRCxQuT83(>2r~{zy$x*HM5f0~Yr{jJ;-YE6UGx$t)tPonS;{ zI{_HNI@m15sBBKrpv^#=bUnBeHWk|t)ama`8tv~4?p6f7`XYY7)I)xMBmv3K;8F)< zTx~*a0?-NS`szRuWHN{Y^&8O%^bG@Y8L9+KB}zDpOh*lD<2`s&1Fj%(!etc5FY3r? eQ626@b%ZtQM0nK^wdi#Mc^v?rpH6PB6953`vXn^x diff --git a/packages/dynamic-import-vars/test/snapshots/rollup-plugin-dynamic-import-vars.test.js.md b/packages/dynamic-import-vars/test/snapshots/rollup-plugin-dynamic-import-vars.test.js.md index b64709270..c2324683e 100644 --- a/packages/dynamic-import-vars/test/snapshots/rollup-plugin-dynamic-import-vars.test.js.md +++ b/packages/dynamic-import-vars/test/snapshots/rollup-plugin-dynamic-import-vars.test.js.md @@ -10,8 +10,8 @@ Generated by [AVA](https://avajs.dev). `function __variableDynamicImportRuntime0__(path) {␊ switch (path) {␊ - case './module-dir-a/module-a-1.js': return import('./module-a-1-a1a9dfd0.js');␊ - case './module-dir-a/module-a-2.js': return import('./module-a-2-28fb3b62.js');␊ + case './module-dir-a/module-a-1.js': return import('./module-a-1-46aeaa54.js');␊ + case './module-dir-a/module-a-2.js': return import('./module-a-2-cf42d8af.js');␊ default: return new Promise(function(resolve, reject) {␊ (typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(␊ reject.bind(null, new Error("Unknown variable dynamic import: " + path))␊ @@ -21,7 +21,7 @@ Generated by [AVA](https://avajs.dev). }␊ ␊ function importModule(name) {␊ - return __variableDynamicImportRuntime0__(`./module-dir-a/${name}.js`);␊ + return __variableDynamicImportRuntime0__(\`./module-dir-a/${name}.js\`);␊ }␊ ␊ export { importModule };␊ @@ -33,11 +33,11 @@ Generated by [AVA](https://avajs.dev). `function __variableDynamicImportRuntime0__(path) {␊ switch (path) {␊ - case './module-dir-a/module-a-1.js': return import('./module-a-1-a1a9dfd0.js');␊ - case './module-dir-a/module-a-2.js': return import('./module-a-2-28fb3b62.js');␊ - case './module-dir-b/module-b-1.js': return import('./module-b-1-a616b1e9.js');␊ - case './module-dir-b/module-b-2.js': return import('./module-b-2-219276fa.js');␊ - case './sub-dir/fixture-upwards-path.js': return import('./fixture-upwards-path-35191ee0.js');␊ + case './module-dir-a/module-a-1.js': return import('./module-a-1-46aeaa54.js');␊ + case './module-dir-a/module-a-2.js': return import('./module-a-2-cf42d8af.js');␊ + case './module-dir-b/module-b-1.js': return import('./module-b-1-7b773b3a.js');␊ + case './module-dir-b/module-b-2.js': return import('./module-b-2-e1209a85.js');␊ + case './sub-dir/fixture-upwards-path.js': return import('./fixture-upwards-path-4b2f0419.js');␊ default: return new Promise(function(resolve, reject) {␊ (typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(␊ reject.bind(null, new Error("Unknown variable dynamic import: " + path))␊ @@ -47,7 +47,7 @@ Generated by [AVA](https://avajs.dev). }␊ ␊ function importModule(dir, name) {␊ - return __variableDynamicImportRuntime0__(`./${dir}/${name}.js`);␊ + return __variableDynamicImportRuntime0__(\`./${dir}/${name}.js\`);␊ }␊ ␊ export { importModule };␊ @@ -59,8 +59,8 @@ Generated by [AVA](https://avajs.dev). `function __variableDynamicImportRuntime0__(path) {␊ switch (path) {␊ - case '../module-dir-a/module-a-1.js': return import('./module-a-1-a1a9dfd0.js');␊ - case '../module-dir-a/module-a-2.js': return import('./module-a-2-28fb3b62.js');␊ + case '../module-dir-a/module-a-1.js': return import('./module-a-1-46aeaa54.js');␊ + case '../module-dir-a/module-a-2.js': return import('./module-a-2-cf42d8af.js');␊ default: return new Promise(function(resolve, reject) {␊ (typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(␊ reject.bind(null, new Error("Unknown variable dynamic import: " + path))␊ @@ -70,7 +70,7 @@ Generated by [AVA](https://avajs.dev). }␊ ␊ function importModule(name) {␊ - return __variableDynamicImportRuntime0__(`../module-dir-a/${name}.js`);␊ + return __variableDynamicImportRuntime0__(\`../module-dir-a/${name}.js\`);␊ }␊ ␊ export { importModule };␊ @@ -82,10 +82,10 @@ Generated by [AVA](https://avajs.dev). `function __variableDynamicImportRuntime0__(path) {␊ switch (path) {␊ - case './module-dir-a/module-a-1.js': return import('./module-a-1-a1a9dfd0.js');␊ - case './module-dir-a/module-a-2.js': return import('./module-a-2-28fb3b62.js');␊ - case './module-dir-b/module-b-1.js': return import('./module-b-1-a616b1e9.js');␊ - case './module-dir-b/module-b-2.js': return import('./module-b-2-219276fa.js');␊ + case './module-dir-a/module-a-1.js': return import('./module-a-1-46aeaa54.js');␊ + case './module-dir-a/module-a-2.js': return import('./module-a-2-cf42d8af.js');␊ + case './module-dir-b/module-b-1.js': return import('./module-b-1-7b773b3a.js');␊ + case './module-dir-b/module-b-2.js': return import('./module-b-2-e1209a85.js');␊ default: return new Promise(function(resolve, reject) {␊ (typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(␊ reject.bind(null, new Error("Unknown variable dynamic import: " + path))␊ @@ -95,7 +95,7 @@ Generated by [AVA](https://avajs.dev). }␊ ␊ function importModule(dirName, name) {␊ - return __variableDynamicImportRuntime0__(`${`./${`module-dir-${dirName}`}` + '/'}${name}.js`);␊ + return __variableDynamicImportRuntime0__(\`${\`./${\`module-dir-${dirName}\`}\` + '/'}${name}.js\`);␊ }␊ ␊ export { importModule };␊ @@ -107,8 +107,8 @@ Generated by [AVA](https://avajs.dev). `function __variableDynamicImportRuntime0__(path) {␊ switch (path) {␊ - case './root-module-a.js': return import('./root-module-a-53575bcc.js');␊ - case './root-module-b.js': return import('./root-module-b-55333443.js');␊ + case './root-module-a.js': return import('./root-module-a-0debaeb6.js');␊ + case './root-module-b.js': return import('./root-module-b-0da599d4.js');␊ default: return new Promise(function(resolve, reject) {␊ (typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(␊ reject.bind(null, new Error("Unknown variable dynamic import: " + path))␊ @@ -118,7 +118,7 @@ Generated by [AVA](https://avajs.dev). }␊ ␊ function importModule(name) {␊ - return __variableDynamicImportRuntime0__(`./root-module-${name}.js`);␊ + return __variableDynamicImportRuntime0__(\`./root-module-${name}.js\`);␊ }␊ ␊ export { importModule };␊ @@ -130,11 +130,11 @@ Generated by [AVA](https://avajs.dev). `function __variableDynamicImportRuntime2__(path) {␊ switch (path) {␊ - case './module-dir-a/module-a-1.js': return import('./module-a-1-a1a9dfd0.js');␊ - case './module-dir-a/module-a-2.js': return import('./module-a-2-28fb3b62.js');␊ - case './module-dir-b/module-b-1.js': return import('./module-b-1-a616b1e9.js');␊ - case './module-dir-b/module-b-2.js': return import('./module-b-2-219276fa.js');␊ - case './sub-dir/fixture-upwards-path.js': return import('./fixture-upwards-path-35191ee0.js');␊ + case './module-dir-a/module-a-1.js': return import('./module-a-1-46aeaa54.js');␊ + case './module-dir-a/module-a-2.js': return import('./module-a-2-cf42d8af.js');␊ + case './module-dir-b/module-b-1.js': return import('./module-b-1-7b773b3a.js');␊ + case './module-dir-b/module-b-2.js': return import('./module-b-2-e1209a85.js');␊ + case './sub-dir/fixture-upwards-path.js': return import('./fixture-upwards-path-4b2f0419.js');␊ default: return new Promise(function(resolve, reject) {␊ (typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(␊ reject.bind(null, new Error("Unknown variable dynamic import: " + path))␊ @@ -145,8 +145,8 @@ Generated by [AVA](https://avajs.dev). ␊ function __variableDynamicImportRuntime1__(path) {␊ switch (path) {␊ - case './module-dir-a/module-a-1.js': return import('./module-a-1-a1a9dfd0.js');␊ - case './module-dir-a/module-a-2.js': return import('./module-a-2-28fb3b62.js');␊ + case './module-dir-a/module-a-1.js': return import('./module-a-1-46aeaa54.js');␊ + case './module-dir-a/module-a-2.js': return import('./module-a-2-cf42d8af.js');␊ default: return new Promise(function(resolve, reject) {␊ (typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(␊ reject.bind(null, new Error("Unknown variable dynamic import: " + path))␊ @@ -157,8 +157,8 @@ Generated by [AVA](https://avajs.dev). ␊ function __variableDynamicImportRuntime0__(path) {␊ switch (path) {␊ - case './module-dir-a/module-a-1.js': return import('./module-a-1-a1a9dfd0.js');␊ - case './module-dir-a/module-a-2.js': return import('./module-a-2-28fb3b62.js');␊ + case './module-dir-a/module-a-1.js': return import('./module-a-1-46aeaa54.js');␊ + case './module-dir-a/module-a-2.js': return import('./module-a-2-cf42d8af.js');␊ default: return new Promise(function(resolve, reject) {␊ (typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(␊ reject.bind(null, new Error("Unknown variable dynamic import: " + path))␊ @@ -169,16 +169,16 @@ Generated by [AVA](https://avajs.dev). ␊ class Foo {␊ importModule(name) {␊ - return __variableDynamicImportRuntime0__(`./module-dir-a/${name}.js`);␊ + return __variableDynamicImportRuntime0__(\`./module-dir-a/${name}.js\`);␊ }␊ }␊ ␊ - __variableDynamicImportRuntime1__(`./module-dir-a/${name}.js`).then((module) => {␊ + __variableDynamicImportRuntime1__(\`./module-dir-a/${name}.js\`).then((module) => {␊ console.log('imported', module);␊ });␊ ␊ function importModuleFromDir(dir, name) {␊ - return __variableDynamicImportRuntime2__(`./${dir}/${name}.js`);␊ + return __variableDynamicImportRuntime2__(\`./${dir}/${name}.js\`);␊ }␊ ␊ export { Foo, importModuleFromDir };␊ @@ -191,7 +191,7 @@ Generated by [AVA](https://avajs.dev). `console.log('a-1');␊ ␊ function importModuleA() {␊ - return import('./module-a-2-28fb3b62.js');␊ + return import('./module-a-2-cf42d8af.js');␊ }␊ ␊ function importModuleB() {␊ @@ -206,7 +206,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `function importModule(name) {␊ - return import(`./module-dir-a/${name}.js`);␊ + return import(\`./module-dir-a/${name}.js\`);␊ }␊ ␊ export { importModule };␊ diff --git a/packages/dynamic-import-vars/test/snapshots/rollup-plugin-dynamic-import-vars.test.js.snap b/packages/dynamic-import-vars/test/snapshots/rollup-plugin-dynamic-import-vars.test.js.snap index bd60a1d2be66a768e5f4045dfa07553f2bc8589b..27b86efcceb5386c813553d1cf51144d6c05227f 100644 GIT binary patch literal 951 zcmV;o14#TqRzV=z`VV^P+L**nOdym>Q38U)n%Qr5zM0vX@s(q`+&U9Kf1#w( z#Zy7qiHl%Uj|xWGqRFNBab?>?lJ86B%L^|Tg3scMh1W~wlH)T=QqG`WzaSnZri%xc zjI^lrq1EP|{OmJHTUe;q^)`{sEc7w}qC=(CgxC`RiwFcQzuw}u@1mi!8)Ud3MlpXX zv?_QgeUAYRq4gVSC18}d2okbc4kWX?6JVCcVU`TbDVOXW;>0j*bcpZD>wOG6@X6yX zDo`Jip?fH}dx1G6bc&W7+6bV_%QkWc&VBUph*}<(M4UmbRs(IgTZ4DE|F42T`Bm}A zeVNrGEQrwaCS|tHeAmr|r+M#r+|yUSu`|Xy42Et2d*GMI(kiUL8iXFmMu3rp{czpS zsBh-ly@O3hAvL<-8rSPKv zsPbUC%YL;N-uI1|Q^MOnKp=IEoSOU8d9lGm&CnWpjl{nDF@L*?BA>P_|Lqcq{055;gU zO=-N}DB2ta(1nXqq?>IQBYbi7Q`K^4d#T{W2Gis-l$0J)Ao{V?#FmMw+I95TCQ&+IMl_v{o3(G ZoTkO*ggs|u$n@`|{{qb_PtY_O005xB&f@?8 literal 998 zcmVs zmT!HU+P=XY8C_ziG*S&f@0X_+e?04Gs5uf1edu|4nW55o@|O>{?>O*e*Bku#cJ=#@ z(^nZPZQTUGl`V^Nr;lE1cws*no*#eM&rqpIvy*jwowGCjz4a$gN!J-F)#?Da zZ9hJ?t!?i6`J1nUZ>R3r43*xk2cQycq#iI;U~2`ch+3LtDp-R91EYej2%?I*&uT(U zk&eXTSU3AD%~WEjX<&eh3+A8;PSiqZj47rx2-74GN`iqP>+v+kuxzP_mld5CQVW6i zdWHA8%H<_M=WHa9!1izDHy{r91cS^b()18 zf8TF|1~U6eB(Y_>xFi-#qI*O|lR3>&RX4Tfpsr(`+j&A8*6^4HQ;C6cA~Q)(+u%;P z2htq4l7LAMZMwE=$yNJ1!HGjXG&CH+K?$FdLCBx}$lqz$J>j6(B(f2rm#9MH&Jj3~ zp$gjVwHcgKD@)C}e?hsDGA;|Im|BSW>=Ye4gWjO%MWKQ*^Vlgmc6vj;mS9xKf@xTy z1K1c<#>siaTk$bLmkr*DeGcGkTX}!L8}cI5R4%@Z;v=CYs*0&VQgh_6U2N%zC2#j@ zzVym`E3(;_qSrHn1sashW@)rm94|f1b&O3u#k3qm%-F*R{DGE$C`noPoxV{l08Hcq z0l(kh-0UwCy9C5e4{ebQ`wAqik1R$_vRm23WuyA4jVqVK`*T6DB!p~w z=};^7!_@cb(Ol?p-%bFQ>OW46mE?N~&NO z@DRq-gB*iH$!20lD^Z%iQ>+H#F$a;xaf$mb7~V&1%$PM2eju53!{j#dFwZ%B93t86 zR`jA?Iei7ba*_zUvngFMI_xQb`B|%@!~fM8a( { - const ast = CustomParser.parse('import(`./foo/${bar}.js`);', { + const ast = parse('import(`./foo/${bar}.js`);', { sourceType: 'module' }); - const glob = dynamicImportToGlob(ast.body[0].expression.arguments[0]); + const glob = dynamicImportToGlob(ast.body[0].expression.source); t.is(glob, './foo/*.js'); }); test('external', (t) => { - const ast = CustomParser.parse('import(`https://some.cdn.com/package/${version}/index.js`);', { + const ast = parse('import(`https://some.cdn.com/package/${version}/index.js`);', { sourceType: 'module' }); - const glob = dynamicImportToGlob(ast.body[0].expression.arguments[0]); + const glob = dynamicImportToGlob(ast.body[0].expression.source); t.is(glob, null); }); test('external - leaves bare module specifiers starting with https in tact', (t) => { - const ast = CustomParser.parse('import("http_utils");', { + const ast = parse('import("http_utils");', { sourceType: 'module' }); - const glob = dynamicImportToGlob(ast.body[0].expression.arguments[0]); + const glob = dynamicImportToGlob(ast.body[0].expression.source); t.is(glob, null); }); test('data uri', (t) => { - const ast = CustomParser.parse('import(`data:${bar}`);', { + const ast = parse('import(`data:${bar}`);', { sourceType: 'module' }); - const glob = dynamicImportToGlob(ast.body[0].expression.arguments[0]); + const glob = dynamicImportToGlob(ast.body[0].expression.source); t.is(glob, null); }); test('template literal with dot-prefixed suffix', (t) => { - const ast = CustomParser.parse('import(`./${bar}.entry.js`);', { + const ast = parse('import(`./${bar}.entry.js`);', { sourceType: 'module' }); - const glob = dynamicImportToGlob(ast.body[0].expression.arguments[0]); + const glob = dynamicImportToGlob(ast.body[0].expression.source); t.is(glob, './*.entry.js'); }); test('template literal with variable directory', (t) => { - const ast = CustomParser.parse('import(`./foo/${bar}/x.js`);', { + const ast = parse('import(`./foo/${bar}/x.js`);', { sourceType: 'module' }); - const glob = dynamicImportToGlob(ast.body[0].expression.arguments[0]); + const glob = dynamicImportToGlob(ast.body[0].expression.source); t.is(glob, './foo/*/x.js'); }); test('template literal with multiple variables', (t) => { - const ast = CustomParser.parse('import(`./${foo}/${bar}.js`);', { + const ast = parse('import(`./${foo}/${bar}.js`);', { sourceType: 'module' }); - const glob = dynamicImportToGlob(ast.body[0].expression.arguments[0]); + const glob = dynamicImportToGlob(ast.body[0].expression.source); t.is(glob, './*/*.js'); }); test('dynamic expression with variable filename', (t) => { - const ast = CustomParser.parse('import("./foo/".concat(bar,".js"));', { + const ast = parse('import("./foo/".concat(bar,".js"));', { sourceType: 'module' }); - const glob = dynamicImportToGlob(ast.body[0].expression.arguments[0]); + const glob = dynamicImportToGlob(ast.body[0].expression.source); t.is(glob, './foo/*.js'); }); test('dynamic expression with variable directory', (t) => { - const ast = CustomParser.parse('import("./foo/".concat(bar, "/x.js"));', { + const ast = parse('import("./foo/".concat(bar, "/x.js"));', { sourceType: 'module' }); - const glob = dynamicImportToGlob(ast.body[0].expression.arguments[0]); + const glob = dynamicImportToGlob(ast.body[0].expression.source); t.is(glob, './foo/*/x.js'); }); test('dynamic expression with multiple variables', (t) => { - const ast = CustomParser.parse('import("./".concat(foo, "/").concat(bar,".js"));', { + const ast = parse('import("./".concat(foo, "/").concat(bar,".js"));', { sourceType: 'module' }); - const glob = dynamicImportToGlob(ast.body[0].expression.arguments[0]); + const glob = dynamicImportToGlob(ast.body[0].expression.source); t.is(glob, './*/*.js'); }); test('string concatenation', (t) => { - const ast = CustomParser.parse('import("./foo/" + bar + ".js");', { + const ast = parse('import("./foo/" + bar + ".js");', { sourceType: 'module' }); - const glob = dynamicImportToGlob(ast.body[0].expression.arguments[0]); + const glob = dynamicImportToGlob(ast.body[0].expression.source); t.is(glob, './foo/*.js'); }); test('string concatenation and template literals combined', (t) => { - const ast = CustomParser.parse('import("./" + `foo/${bar}` + ".js");', { + const ast = parse('import("./" + `foo/${bar}` + ".js");', { sourceType: 'module' }); - const glob = dynamicImportToGlob(ast.body[0].expression.arguments[0]); + const glob = dynamicImportToGlob(ast.body[0].expression.source); t.is(glob, './foo/*.js'); }); test('string literal in a template literal expression', (t) => { - const ast = CustomParser.parse('import(`${"./foo/"}${bar}.js`);', { + const ast = parse('import(`${"./foo/"}${bar}.js`);', { sourceType: 'module' }); - const glob = dynamicImportToGlob(ast.body[0].expression.arguments[0]); + const glob = dynamicImportToGlob(ast.body[0].expression.source); t.is(glob, './foo/*.js'); }); test('multiple variables are collapsed into a single *', (t) => { - const ast = CustomParser.parse('import(`./foo/${bar}${baz}/${x}${y}.js`);', { + const ast = parse('import(`./foo/${bar}${baz}/${x}${y}.js`);', { sourceType: 'module' }); - const glob = dynamicImportToGlob(ast.body[0].expression.arguments[0]); + const glob = dynamicImportToGlob(ast.body[0].expression.source); t.is(glob, './foo/*/*.js'); }); test('throws when dynamic import contains a *', (t) => { - const ast = CustomParser.parse('import(`./*${foo}.js`);', { + const ast = parse('import(`./*${foo}.js`);', { sourceType: 'module' }); let error; try { - dynamicImportToGlob(ast.body[0].expression.arguments[0]); + dynamicImportToGlob(ast.body[0].expression.source); } catch (e) { error = e; } @@ -150,13 +147,13 @@ test('throws when dynamic import contains a *', (t) => { }); test('throws when dynamic import contains a non + operator', (t) => { - const ast = CustomParser.parse('import("foo" - "bar.js");', { + const ast = parse('import("foo" - "bar.js");', { sourceType: 'module' }); let error; try { - dynamicImportToGlob(ast.body[0].expression.arguments[0]); + dynamicImportToGlob(ast.body[0].expression.source); } catch (e) { error = e; } @@ -165,13 +162,13 @@ test('throws when dynamic import contains a non + operator', (t) => { }); test('throws when dynamic import is a single variable', (t) => { - const ast = CustomParser.parse('import(foo);', { + const ast = parse('import(foo);', { sourceType: 'module' }); let error; try { - dynamicImportToGlob(ast.body[0].expression.arguments[0], '${sourceString}'); + dynamicImportToGlob(ast.body[0].expression.source, '${sourceString}'); } catch (e) { error = e; } @@ -183,13 +180,13 @@ test('throws when dynamic import is a single variable', (t) => { }); test('throws when dynamic import starts with a variable', (t) => { - const ast = CustomParser.parse('import(`${folder}/foo.js`);', { + const ast = parse('import(`${folder}/foo.js`);', { sourceType: 'module' }); let error; try { - dynamicImportToGlob(ast.body[0].expression.arguments[0], '${sourceString}'); + dynamicImportToGlob(ast.body[0].expression.source, '${sourceString}'); } catch (e) { error = e; } @@ -201,13 +198,13 @@ test('throws when dynamic import starts with a variable', (t) => { }); test('throws when dynamic import starts with a /', (t) => { - const ast = CustomParser.parse('import(`/foo/${bar}.js`);', { + const ast = parse('import(`/foo/${bar}.js`);', { sourceType: 'module' }); let error; try { - dynamicImportToGlob(ast.body[0].expression.arguments[0], '${sourceString}'); + dynamicImportToGlob(ast.body[0].expression.source, '${sourceString}'); } catch (e) { error = e; } @@ -219,13 +216,13 @@ test('throws when dynamic import starts with a /', (t) => { }); test('throws when dynamic import does not start with ./', (t) => { - const ast = CustomParser.parse('import(`foo/${bar}.js`);', { + const ast = parse('import(`foo/${bar}.js`);', { sourceType: 'module' }); let error; try { - dynamicImportToGlob(ast.body[0].expression.arguments[0], '${sourceString}'); + dynamicImportToGlob(ast.body[0].expression.source, '${sourceString}'); } catch (e) { error = e; } @@ -237,13 +234,13 @@ test('throws when dynamic import does not start with ./', (t) => { }); test("throws when dynamic import imports it's own directory", (t) => { - const ast = CustomParser.parse('import(`./${foo}.js`);', { + const ast = parse('import(`./${foo}.js`);', { sourceType: 'module' }); let error; try { - dynamicImportToGlob(ast.body[0].expression.arguments[0], '${sourceString}'); + dynamicImportToGlob(ast.body[0].expression.source, '${sourceString}'); } catch (e) { error = e; } @@ -255,13 +252,13 @@ test("throws when dynamic import imports it's own directory", (t) => { }); test('throws when dynamic import imports does not contain a file extension', (t) => { - const ast = CustomParser.parse('import(`./foo/${bar}`);', { + const ast = parse('import(`./foo/${bar}`);', { sourceType: 'module' }); let error; try { - dynamicImportToGlob(ast.body[0].expression.arguments[0], '${sourceString}'); + dynamicImportToGlob(ast.body[0].expression.source, '${sourceString}'); } catch (e) { error = e; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e24eda6af..f605a4f4c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -232,24 +232,22 @@ importers: packages/dynamic-import-vars: specifiers: - '@rollup/pluginutils': ^4.1.2 - acorn: ^7.3.1 - acorn-dynamic-import: ^4.0.0 - estree-walker: ^2.0.1 - fast-glob: ^3.2.7 - magic-string: ^0.25.7 - prettier: ^2.0.5 - rollup: ^2.67.3 + '@rollup/pluginutils': ^4.2.1 + acorn: ^8.8.0 + estree-walker: ^2.0.2 + fast-glob: ^3.2.12 + magic-string: ^0.26.4 + prettier: ^2.7.1 + rollup: ^3.0.0-7 dependencies: '@rollup/pluginutils': 4.2.1 estree-walker: 2.0.2 fast-glob: 3.2.12 - magic-string: 0.25.9 + magic-string: 0.26.4 devDependencies: - acorn: 7.4.1 - acorn-dynamic-import: 4.0.0_acorn@7.4.1 + acorn: 8.8.0 prettier: 2.7.1 - rollup: 2.79.1 + rollup: 3.0.0-7 packages/eslint: specifiers: @@ -2729,15 +2727,6 @@ packages: dependencies: acorn: 6.4.2 - /acorn-dynamic-import/4.0.0_acorn@7.4.1: - resolution: {integrity: sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==} - deprecated: This is probably built in to whatever tool you're using. If you still need it... idk - peerDependencies: - acorn: ^6.0.0 - dependencies: - acorn: 7.4.1 - dev: true - /acorn-jsx/5.3.2_acorn@6.4.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: