diff --git a/src/ast/nodes/ImportExpression.ts b/src/ast/nodes/ImportExpression.ts index 4c401a84aec..193c39150c7 100644 --- a/src/ast/nodes/ImportExpression.ts +++ b/src/ast/nodes/ImportExpression.ts @@ -73,9 +73,12 @@ export default class ImportExpression extends NodeBase { const variables: string[] = []; for (const property of objectPattern.properties) { - if (property.type === 'RestElement') return; - if (property.computed) return; - if (property.key.type !== 'Identifier') return; + if ( + property.type === 'RestElement' || + property.computed || + property.key.type !== 'Identifier' + ) + return; variables.push((property.key as Identifier).name); } @@ -86,8 +89,7 @@ export default class ImportExpression extends NodeBase { if (awaitExpression.parent?.type !== 'MemberExpression') return; const memberExpression = awaitExpression.parent as MemberExpression; - if (memberExpression.computed) return; - if (memberExpression.property.type !== 'Identifier') return; + if (memberExpression.computed || memberExpression.property.type !== 'Identifier') return; return [(memberExpression.property as Identifier).name]; } diff --git a/test/form/samples/treeshake-static-dynamic-import/_config.js b/test/form/samples/treeshake-deterministic-dynamic-import/_config.js similarity index 50% rename from test/form/samples/treeshake-static-dynamic-import/_config.js rename to test/form/samples/treeshake-deterministic-dynamic-import/_config.js index d8fa4163017..762f200f152 100644 --- a/test/form/samples/treeshake-static-dynamic-import/_config.js +++ b/test/form/samples/treeshake-deterministic-dynamic-import/_config.js @@ -1,5 +1,5 @@ module.exports = { - description: 'treeshakes dynamic imports when the target is statically known', + description: 'treeshakes dynamic imports when the target is deterministic', options: { output: { inlineDynamicImports: true diff --git a/test/form/samples/treeshake-static-dynamic-import/_expected.js b/test/form/samples/treeshake-deterministic-dynamic-import/_expected.js similarity index 100% rename from test/form/samples/treeshake-static-dynamic-import/_expected.js rename to test/form/samples/treeshake-deterministic-dynamic-import/_expected.js diff --git a/test/form/samples/treeshake-static-dynamic-import/bail1.js b/test/form/samples/treeshake-deterministic-dynamic-import/bail1.js similarity index 100% rename from test/form/samples/treeshake-static-dynamic-import/bail1.js rename to test/form/samples/treeshake-deterministic-dynamic-import/bail1.js diff --git a/test/form/samples/treeshake-static-dynamic-import/bail2.js b/test/form/samples/treeshake-deterministic-dynamic-import/bail2.js similarity index 100% rename from test/form/samples/treeshake-static-dynamic-import/bail2.js rename to test/form/samples/treeshake-deterministic-dynamic-import/bail2.js diff --git a/test/form/samples/treeshake-static-dynamic-import/bail3.js b/test/form/samples/treeshake-deterministic-dynamic-import/bail3.js similarity index 100% rename from test/form/samples/treeshake-static-dynamic-import/bail3.js rename to test/form/samples/treeshake-deterministic-dynamic-import/bail3.js diff --git a/test/form/samples/treeshake-static-dynamic-import/bail4.js b/test/form/samples/treeshake-deterministic-dynamic-import/bail4.js similarity index 100% rename from test/form/samples/treeshake-static-dynamic-import/bail4.js rename to test/form/samples/treeshake-deterministic-dynamic-import/bail4.js diff --git a/test/form/samples/treeshake-static-dynamic-import/main.js b/test/form/samples/treeshake-deterministic-dynamic-import/main.js similarity index 100% rename from test/form/samples/treeshake-static-dynamic-import/main.js rename to test/form/samples/treeshake-deterministic-dynamic-import/main.js diff --git a/test/form/samples/treeshake-static-dynamic-import/sub1.js b/test/form/samples/treeshake-deterministic-dynamic-import/sub1.js similarity index 100% rename from test/form/samples/treeshake-static-dynamic-import/sub1.js rename to test/form/samples/treeshake-deterministic-dynamic-import/sub1.js diff --git a/test/form/samples/treeshake-static-dynamic-import/sub2.js b/test/form/samples/treeshake-deterministic-dynamic-import/sub2.js similarity index 100% rename from test/form/samples/treeshake-static-dynamic-import/sub2.js rename to test/form/samples/treeshake-deterministic-dynamic-import/sub2.js diff --git a/test/form/samples/treeshake-static-dynamic-import/sub3.js b/test/form/samples/treeshake-deterministic-dynamic-import/sub3.js similarity index 100% rename from test/form/samples/treeshake-static-dynamic-import/sub3.js rename to test/form/samples/treeshake-deterministic-dynamic-import/sub3.js