diff --git a/packages/babel-parser/src/parser/expression.js b/packages/babel-parser/src/parser/expression.js index 06999c46f24b..f0b831d10b22 100644 --- a/packages/babel-parser/src/parser/expression.js +++ b/packages/babel-parser/src/parser/expression.js @@ -1227,8 +1227,6 @@ export default class ExpressionParser extends LValParser { this.expect(tt.dot); if (this.isContextual("meta")) { - this.expectPlugin("importMeta"); - if (!this.inModule) { this.raiseWithData( id.start, @@ -1237,8 +1235,6 @@ export default class ExpressionParser extends LValParser { ); } this.sawUnambiguousESM = true; - } else if (!this.hasPlugin("importMeta")) { - this.raise(id.start, Errors.ImportCallArityLtOne); } return this.parseMetaProperty(node, id, "meta"); diff --git a/packages/babel-parser/test/fixtures/core/sourcetype-unambiguous/import-meta/input.js b/packages/babel-parser/test/fixtures/core/sourcetype-unambiguous/import-meta/input.js deleted file mode 100644 index e7313a090ffe..000000000000 --- a/packages/babel-parser/test/fixtures/core/sourcetype-unambiguous/import-meta/input.js +++ /dev/null @@ -1 +0,0 @@ -console.log(import.meta); diff --git a/packages/babel-parser/test/fixtures/core/sourcetype-unambiguous/import-meta/options.json b/packages/babel-parser/test/fixtures/core/sourcetype-unambiguous/import-meta/options.json deleted file mode 100644 index 6fdc0a23b66e..000000000000 --- a/packages/babel-parser/test/fixtures/core/sourcetype-unambiguous/import-meta/options.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "sourceType": "unambiguous", - "plugins": ["importMeta"] -} diff --git a/packages/babel-parser/test/fixtures/core/sourcetype-unambiguous/import-meta/output.json b/packages/babel-parser/test/fixtures/core/sourcetype-unambiguous/import-meta/output.json deleted file mode 100644 index 6b9a913d2dd1..000000000000 --- a/packages/babel-parser/test/fixtures/core/sourcetype-unambiguous/import-meta/output.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "type": "File", - "start":0,"end":25,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":25}}, - "program": { - "type": "Program", - "start":0,"end":25,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":25}}, - "sourceType": "module", - "interpreter": null, - "body": [ - { - "type": "ExpressionStatement", - "start":0,"end":25,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":25}}, - "expression": { - "type": "CallExpression", - "start":0,"end":24,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":24}}, - "callee": { - "type": "MemberExpression", - "start":0,"end":11,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":11}}, - "object": { - "type": "Identifier", - "start":0,"end":7,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":7},"identifierName":"console"}, - "name": "console" - }, - "property": { - "type": "Identifier", - "start":8,"end":11,"loc":{"start":{"line":1,"column":8},"end":{"line":1,"column":11},"identifierName":"log"}, - "name": "log" - }, - "computed": false - }, - "arguments": [ - { - "type": "MetaProperty", - "start":12,"end":23,"loc":{"start":{"line":1,"column":12},"end":{"line":1,"column":23}}, - "meta": { - "type": "Identifier", - "start":12,"end":18,"loc":{"start":{"line":1,"column":12},"end":{"line":1,"column":18},"identifierName":"import"}, - "name": "import" - }, - "property": { - "type": "Identifier", - "start":19,"end":23,"loc":{"start":{"line":1,"column":19},"end":{"line":1,"column":23},"identifierName":"meta"}, - "name": "meta" - } - } - ] - } - } - ], - "directives": [] - } -} \ No newline at end of file diff --git a/packages/babel-parser/test/fixtures/es2020/dynamic-import/direct-calls-only/output.json b/packages/babel-parser/test/fixtures/es2020/dynamic-import/direct-calls-only/output.json index c091e5986ab8..2a5318f72b14 100644 --- a/packages/babel-parser/test/fixtures/es2020/dynamic-import/direct-calls-only/output.json +++ b/packages/babel-parser/test/fixtures/es2020/dynamic-import/direct-calls-only/output.json @@ -2,7 +2,6 @@ "type": "File", "start":0,"end":49,"loc":{"start":{"line":1,"column":0},"end":{"line":3,"column":1}}, "errors": [ - "SyntaxError: Dynamic imports require a parameter: import('a.js') (2:9)", "SyntaxError: The only valid meta property for import is import.meta (2:16)" ], "program": { diff --git a/packages/babel-parser/test/fixtures/experimental/_no-plugin/import-meta/input.js b/packages/babel-parser/test/fixtures/es2020/import-meta/error-in-script/input.js similarity index 100% rename from packages/babel-parser/test/fixtures/experimental/_no-plugin/import-meta/input.js rename to packages/babel-parser/test/fixtures/es2020/import-meta/error-in-script/input.js diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/error-in-script/options.json b/packages/babel-parser/test/fixtures/es2020/import-meta/error-in-script/options.json similarity index 50% rename from packages/babel-parser/test/fixtures/experimental/import-meta/error-in-script/options.json rename to packages/babel-parser/test/fixtures/es2020/import-meta/error-in-script/options.json index 7442e09e1f56..b412ffe6712f 100644 --- a/packages/babel-parser/test/fixtures/experimental/import-meta/error-in-script/options.json +++ b/packages/babel-parser/test/fixtures/es2020/import-meta/error-in-script/options.json @@ -1,4 +1,3 @@ { - "plugins": ["importMeta"], "sourceType": "script" } diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/error-in-script/output.json b/packages/babel-parser/test/fixtures/es2020/import-meta/error-in-script/output.json similarity index 100% rename from packages/babel-parser/test/fixtures/experimental/import-meta/error-in-script/output.json rename to packages/babel-parser/test/fixtures/es2020/import-meta/error-in-script/output.json diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/no-other-prop-names/input.js b/packages/babel-parser/test/fixtures/es2020/import-meta/no-other-prop-names/input.js similarity index 100% rename from packages/babel-parser/test/fixtures/experimental/import-meta/no-other-prop-names/input.js rename to packages/babel-parser/test/fixtures/es2020/import-meta/no-other-prop-names/input.js diff --git a/packages/babel-parser/test/fixtures/es2020/import-meta/no-other-prop-names/options.json b/packages/babel-parser/test/fixtures/es2020/import-meta/no-other-prop-names/options.json new file mode 100644 index 000000000000..2104ca43283f --- /dev/null +++ b/packages/babel-parser/test/fixtures/es2020/import-meta/no-other-prop-names/options.json @@ -0,0 +1,3 @@ +{ + "sourceType": "module" +} diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/no-other-prop-names/output.json b/packages/babel-parser/test/fixtures/es2020/import-meta/no-other-prop-names/output.json similarity index 100% rename from packages/babel-parser/test/fixtures/experimental/import-meta/no-other-prop-names/output.json rename to packages/babel-parser/test/fixtures/es2020/import-meta/no-other-prop-names/output.json diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/not-assignable/input.js b/packages/babel-parser/test/fixtures/es2020/import-meta/not-assignable/input.js similarity index 100% rename from packages/babel-parser/test/fixtures/experimental/import-meta/not-assignable/input.js rename to packages/babel-parser/test/fixtures/es2020/import-meta/not-assignable/input.js diff --git a/packages/babel-parser/test/fixtures/es2020/import-meta/not-assignable/options.json b/packages/babel-parser/test/fixtures/es2020/import-meta/not-assignable/options.json new file mode 100644 index 000000000000..2104ca43283f --- /dev/null +++ b/packages/babel-parser/test/fixtures/es2020/import-meta/not-assignable/options.json @@ -0,0 +1,3 @@ +{ + "sourceType": "module" +} diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/not-assignable/output.json b/packages/babel-parser/test/fixtures/es2020/import-meta/not-assignable/output.json similarity index 100% rename from packages/babel-parser/test/fixtures/experimental/import-meta/not-assignable/output.json rename to packages/babel-parser/test/fixtures/es2020/import-meta/not-assignable/output.json diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/valid-in-module/input.js b/packages/babel-parser/test/fixtures/es2020/import-meta/valid-in-module/input.js similarity index 100% rename from packages/babel-parser/test/fixtures/experimental/import-meta/valid-in-module/input.js rename to packages/babel-parser/test/fixtures/es2020/import-meta/valid-in-module/input.js diff --git a/packages/babel-parser/test/fixtures/es2020/import-meta/valid-in-module/options.json b/packages/babel-parser/test/fixtures/es2020/import-meta/valid-in-module/options.json new file mode 100644 index 000000000000..2104ca43283f --- /dev/null +++ b/packages/babel-parser/test/fixtures/es2020/import-meta/valid-in-module/options.json @@ -0,0 +1,3 @@ +{ + "sourceType": "module" +} diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/valid-in-module/output.json b/packages/babel-parser/test/fixtures/es2020/import-meta/valid-in-module/output.json similarity index 100% rename from packages/babel-parser/test/fixtures/experimental/import-meta/valid-in-module/output.json rename to packages/babel-parser/test/fixtures/es2020/import-meta/valid-in-module/output.json diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/without-dynamic-import/input.js b/packages/babel-parser/test/fixtures/es2020/import-meta/without-dynamic-import/input.js similarity index 100% rename from packages/babel-parser/test/fixtures/experimental/import-meta/without-dynamic-import/input.js rename to packages/babel-parser/test/fixtures/es2020/import-meta/without-dynamic-import/input.js diff --git a/packages/babel-parser/test/fixtures/es2020/import-meta/without-dynamic-import/options.json b/packages/babel-parser/test/fixtures/es2020/import-meta/without-dynamic-import/options.json new file mode 100644 index 000000000000..2104ca43283f --- /dev/null +++ b/packages/babel-parser/test/fixtures/es2020/import-meta/without-dynamic-import/options.json @@ -0,0 +1,3 @@ +{ + "sourceType": "module" +} diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/without-dynamic-import/output.json b/packages/babel-parser/test/fixtures/es2020/import-meta/without-dynamic-import/output.json similarity index 100% rename from packages/babel-parser/test/fixtures/experimental/import-meta/without-dynamic-import/output.json rename to packages/babel-parser/test/fixtures/es2020/import-meta/without-dynamic-import/output.json diff --git a/packages/babel-parser/test/fixtures/experimental/_no-plugin/import-meta/options.json b/packages/babel-parser/test/fixtures/experimental/_no-plugin/import-meta/options.json deleted file mode 100644 index 48ce55a15d05..000000000000 --- a/packages/babel-parser/test/fixtures/experimental/_no-plugin/import-meta/options.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "throws": "This experimental syntax requires enabling the parser plugin: 'importMeta' (1:17)", - "sourceType": "module", - "plugins": [] -} diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/error-in-script/input.js b/packages/babel-parser/test/fixtures/experimental/import-meta/error-in-script/input.js deleted file mode 100644 index e1cfc5468ef4..000000000000 --- a/packages/babel-parser/test/fixtures/experimental/import-meta/error-in-script/input.js +++ /dev/null @@ -1 +0,0 @@ -const x = import.meta; diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/no-other-prop-names/options.json b/packages/babel-parser/test/fixtures/experimental/import-meta/no-other-prop-names/options.json deleted file mode 100644 index a6638b6528c1..000000000000 --- a/packages/babel-parser/test/fixtures/experimental/import-meta/no-other-prop-names/options.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "sourceType": "module", - "plugins": ["importMeta"] -} diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/not-assignable/options.json b/packages/babel-parser/test/fixtures/experimental/import-meta/not-assignable/options.json deleted file mode 100644 index a6638b6528c1..000000000000 --- a/packages/babel-parser/test/fixtures/experimental/import-meta/not-assignable/options.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "sourceType": "module", - "plugins": ["importMeta"] -} diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/valid-in-module/options.json b/packages/babel-parser/test/fixtures/experimental/import-meta/valid-in-module/options.json deleted file mode 100644 index a6638b6528c1..000000000000 --- a/packages/babel-parser/test/fixtures/experimental/import-meta/valid-in-module/options.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "sourceType": "module", - "plugins": ["importMeta"] -} diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/without-dynamic-import/options.json b/packages/babel-parser/test/fixtures/experimental/import-meta/without-dynamic-import/options.json deleted file mode 100644 index a6638b6528c1..000000000000 --- a/packages/babel-parser/test/fixtures/experimental/import-meta/without-dynamic-import/options.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "sourceType": "module", - "plugins": ["importMeta"] -} diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/without-plugin/input.js b/packages/babel-parser/test/fixtures/experimental/import-meta/without-plugin/input.js deleted file mode 100644 index e664dc3fd538..000000000000 --- a/packages/babel-parser/test/fixtures/experimental/import-meta/without-plugin/input.js +++ /dev/null @@ -1 +0,0 @@ -import.meta; \ No newline at end of file diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/without-plugin/options.json b/packages/babel-parser/test/fixtures/experimental/import-meta/without-plugin/options.json deleted file mode 100644 index 5956ed25f3dd..000000000000 --- a/packages/babel-parser/test/fixtures/experimental/import-meta/without-plugin/options.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "throws": "This experimental syntax requires enabling the parser plugin: 'importMeta' (1:7)", - "plugins": [] -}