diff options
author | Alex Lam S.L <alexlamsl@gmail.com> | 2021-02-20 22:54:15 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-21 06:54:15 +0800 |
commit | ae09773ba017ce65b261d15ed3098ae40c3b2a1b (patch) | |
tree | 1ef30faf5da458e22e333524ea0147f694e04bc3 | |
parent | 8d668c2963c4322fea47009b057791c1a7caa612 (diff) | |
download | tracifyjs-ae09773ba017ce65b261d15ed3098ae40c3b2a1b.tar.gz tracifyjs-ae09773ba017ce65b261d15ed3098ae40c3b2a1b.zip |
parse dynamic `import` correctly (#4671)
-rw-r--r-- | lib/parse.js | 6 | ||||
-rw-r--r-- | test/compress/imports.js | 7 |
2 files changed, 11 insertions, 2 deletions
diff --git a/lib/parse.js b/lib/parse.js index 04b40149..39465d78 100644 --- a/lib/parse.js +++ b/lib/parse.js @@ -848,8 +848,10 @@ function parse($TEXT, options) { next(); return export_(); case "import": - next(); - return import_(); + if (!is_token(peek(), "punc", "(")) { + next(); + return import_(); + } case "yield": if (S.in_generator) return simple_statement(); break; diff --git a/test/compress/imports.js b/test/compress/imports.js index cdc239cd..03ebf997 100644 --- a/test/compress/imports.js +++ b/test/compress/imports.js @@ -47,6 +47,13 @@ dynamic: { expect_exact: '(async a=>await import(a))("foo").then(bar);' } +dynamic_nought: { + input: { + import(foo); + } + expect_exact: "import(foo);" +} + import_meta: { input: { console.log(import.meta, import.meta.url); |