From a42d2e1207b8a104f67ab10cdaeb81d3908127a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Wed, 17 May 2023 11:05:38 +0300 Subject: [PATCH] Add support for the updated import attributes proposal (#15536) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Huáng Jùnliàng Co-authored-by: liuxingbaoyu <30521560+liuxingbaoyu@users.noreply.github.com> --- Makefile.js | 2 +- Makefile.source.mjs | 8 +- babel.config.js | 8 ++ .../src/parser/util/missing-plugin-helper.ts | 13 +- .../babel-generator/src/generators/modules.ts | 67 ++++++--- packages/babel-generator/src/index.ts | 10 ++ packages/babel-generator/src/printer.ts | 7 + .../assertions-assert-to-assert/input.js | 1 + .../assertions-assert-to-assert/options.json | 4 + .../assertions-assert-to-assert/output.js | 1 + .../assertions-assert-to-default/input.js | 1 + .../assertions-assert-to-default/options.json | 3 + .../assertions-assert-to-default/output.js | 1 + .../assertions-assert-to-with-legacy/input.js | 1 + .../options.json | 5 + .../output.js | 1 + .../assertions-assert-to-with/input.js | 1 + .../assertions-assert-to-with/options.json | 4 + .../assertions-assert-to-with/output.js | 1 + .../assertions-with-to-assert/input.js | 1 + .../assertions-with-to-assert/options.json | 4 + .../assertions-with-to-assert/output.js | 1 + .../assertions-with-to-default/input.js | 1 + .../assertions-with-to-default/options.json | 5 + .../assertions-with-to-default/output.js | 1 + .../assertions-with-to-with-legacy/input.js | 1 + .../options.json | 5 + .../assertions-with-to-with-legacy/output.js | 1 + .../assertions-with-to-with/input.js | 1 + .../assertions-with-to-with/options.json | 4 + .../assertions-with-to-with/output.js | 1 + .../attributes-assert-to-assert/input.js | 1 + .../attributes-assert-to-assert/options.json | 4 + .../attributes-assert-to-assert/output.js | 1 + .../attributes-assert-to-default/input.js | 1 + .../attributes-assert-to-default/options.json | 5 + .../attributes-assert-to-default/output.js | 1 + .../attributes-assert-to-with-legacy/input.js | 1 + .../options.json | 5 + .../output.js | 1 + .../attributes-assert-to-with/input.js | 1 + .../attributes-assert-to-with/options.json | 4 + .../attributes-assert-to-with/output.js | 1 + .../attributes-with-to-assert/input.js | 1 + .../attributes-with-to-assert/options.json | 5 + .../attributes-with-to-assert/output.js | 1 + .../attributes-with-to-default/input.js | 1 + .../attributes-with-to-default/options.json | 5 + .../attributes-with-to-default/output.js | 1 + .../attributes-with-to-with-legacy/input.js | 1 + .../options.json | 5 + .../attributes-with-to-with-legacy/output.js | 1 + .../attributes-with-to-with/input.js | 1 + .../attributes-with-to-with/options.json | 4 + .../attributes-with-to-with/output.js | 1 + .../input.js | 1 + .../options.json | 6 + .../output.js | 1 + .../input.js | 1 + .../options.json | 5 + .../output.js | 1 + .../input.js | 1 + .../options.json | 5 + .../output.js | 1 + .../legacy-module-attributes-to-with/input.js | 1 + .../options.json | 6 + .../output.js | 1 + .../types/ModuleAttributes/options.json | 8 +- packages/babel-generator/test/index.js | 14 ++ packages/babel-parser/data/schema.json | 22 +++ .../src/parse-error/standard-errors.ts | 2 + .../babel-parser/src/parser/expression.ts | 12 +- packages/babel-parser/src/parser/statement.ts | 116 +++++++++------ packages/babel-parser/src/plugin-utils.ts | 17 ++- packages/babel-parser/src/plugins/estree.ts | 5 +- packages/babel-parser/src/types.d.ts | 4 + packages/babel-parser/src/typings.d.ts | 4 +- .../import-attributes-null/input.js | 1 + .../import-attributes-null/options.json | 3 + .../import-attributes-null/output.json | 27 ++++ .../dynamic-import/import-attributes/input.js | 1 + .../import-attributes/options.json | 3 + .../import-attributes/output.json | 70 +++++++++ .../valid-syntax-with-attributes/options.json | 7 +- .../valid-syntax-with-attributes/output.json | 2 +- .../valid-syntax-with-attributes/input.js | 1 + .../valid-syntax-with-attributes/options.json | 9 ++ .../valid-syntax-with-attributes/output.json | 51 +++++++ .../import-assertions-dynamic/options.json | 4 +- .../_no-plugin/import-assertions/options.json | 4 +- .../_no-plugin/import-attributes/input.js | 1 + .../_no-plugin/import-attributes/options.json | 4 + .../_no-plugin/module-attributes/input.js | 1 - .../_no-plugin/module-attributes/options.json | 4 - .../dynamic-import-with-valid-syntax/input.js | 1 + .../output.json | 81 +++++++++++ .../import-with-call-expression/input.js | 2 + .../import-with-call-expression/output.json | 43 ++++++ .../incorrect-arity/input.js | 2 + .../incorrect-arity/output.json | 107 ++++++++++++++ .../invalid-export-without-from/input.js | 2 + .../invalid-export-without-from/options.json | 3 + .../input.js | 1 + .../output.json | 48 +++++++ .../input.js | 1 + .../output.json | 85 +++++++++++ .../input.js | 1 + .../options.json | 3 + .../input.js | 1 + .../output.json | 105 ++++++++++++++ .../input.js | 1 + .../output.json | 78 ++++++++++ .../input.js | 1 + .../options.json | 3 + .../invalid-with-entry-no-colon/input.js | 1 + .../invalid-with-entry-no-colon/options.json | 3 + .../linebreak-before-with/input.js | 2 + .../linebreak-before-with/output.json | 47 ++++++ .../options.json | 8 ++ .../string-literal/input.js | 2 + .../string-literal/output.json | 108 ++++++++++++++ .../trailing-comma-dynamic/input.js | 2 + .../trailing-comma-dynamic/output.json | 110 ++++++++++++++ .../trailing-comma/input.js | 2 + .../trailing-comma/output.json | 108 ++++++++++++++ .../valid-empty-assertion/input.js | 4 + .../valid-empty-assertion/output.json | 134 ++++++++++++++++++ .../valid-export-class/input.js | 1 + .../valid-export-class/output.json | 35 +++++ .../valid-export-function/input.js | 1 + .../valid-export-function/output.json | 38 +++++ .../valid-export-variable/input.js | 1 + .../valid-export-variable/output.json | 45 ++++++ .../valid-export-without-from/input.js | 3 + .../valid-export-without-from/output.json | 61 ++++++++ .../valid-string-assertion-key/input.js | 1 + .../valid-string-assertion-key/output.json | 51 +++++++ .../input.js | 1 + .../output.json | 57 ++++++++ .../input.js | 1 + .../output.json | 46 ++++++ .../input.js | 2 + .../output.json | 64 +++++++++ .../input.js | 2 + .../output.json | 87 ++++++++++++ .../input.js | 1 + .../output.json | 64 +++++++++ .../input.js | 1 + .../options.json | 3 + .../input.js | 1 + .../output.json | 64 +++++++++ .../input.js | 1 + .../output.json | 82 +++++++++++ .../input.js | 1 + .../output.json | 44 ++++++ .../input.js | 2 + .../output.json | 66 +++++++++ .../input.js | 2 + .../output.json | 47 ++++++ .../valid-syntax-with-assertions/input.js | 1 + .../valid-syntax-with-assertions/output.json | 57 ++++++++ .../valid-syntax-with-invalid-value/input.js | 1 + .../options.json | 3 + .../input.js | 1 + .../output.json | 57 ++++++++ .../input.js | 1 + .../output.json | 75 ++++++++++ .../valid-syntax-without-assertions/input.js | 1 + .../output.json | 38 +++++ .../without-plugin/input.js | 1 + .../without-plugin/options.json | 5 + .../options.json | 6 - .../options.json | 4 +- .../options.json | 10 +- .../import-assertions/options.json | 6 +- .../options.json | 6 - .../options.json | 6 - .../with-import-attributes/input.js | 1 + .../with-import-attributes/options.json | 8 ++ .../without-plugin/options.json | 2 +- .../_deprecated-syntax-not-enabled/input.js | 1 + .../options.json | 4 + .../output.json | 50 +++++++ .../dynamic-import-with-valid-syntax/input.js | 1 + .../output.json | 81 +++++++++++ .../import-assert-call-expression/input.js | 2 + .../import-assert-call-expression/output.json | 48 +++++++ .../incorrect-arity/input.js | 2 + .../incorrect-arity/output.json | 107 ++++++++++++++ .../invalid-assert-entry-no-colon/input.js | 1 + .../options.json | 3 + .../invalid-escaped-assert/input.js | 1 + .../invalid-escaped-assert/options.json | 8 ++ .../invalid-escaped-assert/output.json | 74 ++++++++++ .../invalid-export-without-from/input.js | 2 + .../invalid-export-without-from/options.json | 8 ++ .../invalid-export-without-from/output.json | 107 ++++++++++++++ .../input.js | 1 + .../output.json | 48 +++++++ .../input.js | 1 + .../output.json | 84 +++++++++++ .../input.js | 1 + .../options.json | 5 + .../input.js | 2 + .../output.json | 69 +++++++++ .../input.js | 1 + .../output.json | 105 ++++++++++++++ .../input.js | 1 + .../output.json | 78 ++++++++++ .../input.js | 1 + .../options.json | 5 + .../options.json | 6 + .../string-literal/input.js | 2 + .../string-literal/output.json | 107 ++++++++++++++ .../trailing-comma-dynamic/input.js | 2 + .../trailing-comma-dynamic/output.json | 110 ++++++++++++++ .../trailing-comma/input.js | 2 + .../trailing-comma/output.json | 107 ++++++++++++++ .../valid-empty-attribute/input.js | 4 + .../valid-empty-attribute/output.json | 133 +++++++++++++++++ .../valid-export-class/input.js | 1 + .../valid-export-class/output.json | 34 +++++ .../valid-export-function/input.js | 1 + .../valid-export-function/output.json | 37 +++++ .../valid-export-variable/input.js | 1 + .../valid-export-variable/output.json | 44 ++++++ .../valid-export-without-from/input.js | 3 + .../valid-export-without-from/output.json | 60 ++++++++ .../valid-string-attribute-key/input.js | 1 + .../valid-string-attribute-key/output.json | 51 +++++++ .../input.js | 1 + .../output.json | 57 ++++++++ .../input.js | 1 + .../output.json | 46 ++++++ .../input.js | 2 + .../output.json | 63 ++++++++ .../input.js | 2 + .../output.json | 86 +++++++++++ .../input.js | 1 + .../output.json | 63 ++++++++ .../input.js | 1 + .../options.json | 3 + .../input.js | 1 + .../output.json | 63 ++++++++ .../input.js | 1 + .../output.json | 81 +++++++++++ .../input.js | 1 + .../output.json | 44 ++++++ .../input.js | 2 + .../output.json | 66 +++++++++ .../input.js | 2 + .../output.json | 47 ++++++ .../valid-syntax-with-attributes/input.js | 1 + .../valid-syntax-with-attributes/output.json | 57 ++++++++ .../valid-syntax-with-invalid-value/input.js | 1 + .../options.json | 3 + .../input.js | 1 + .../output.json | 57 ++++++++ .../input.js | 1 + .../output.json | 75 ++++++++++ .../valid-syntax-without-attributes/input.js | 1 + .../output.json | 38 +++++ .../without-plugin/input.js | 1 + .../without-plugin/options.json | 5 + .../dynamic-import-with-valid-syntax/input.js | 1 + .../output.json | 81 +++++++++++ .../import-with-call-expression/input.js | 2 + .../import-with-call-expression/output.json | 43 ++++++ .../incorrect-arity/input.js | 2 + .../incorrect-arity/output.json | 107 ++++++++++++++ .../invalid-export-without-from/input.js | 2 + .../invalid-export-without-from/options.json | 3 + .../input.js | 1 + .../output.json | 48 +++++++ .../input.js | 1 + .../output.json | 84 +++++++++++ .../input.js | 1 + .../options.json | 3 + .../input.js | 1 + .../output.json | 105 ++++++++++++++ .../input.js | 1 + .../output.json | 78 ++++++++++ .../input.js | 1 + .../options.json | 3 + .../invalid-with-entry-no-colon/input.js | 1 + .../invalid-with-entry-no-colon/options.json | 3 + .../linebreak-before-with/input.js | 2 + .../linebreak-before-with/output.json | 47 ++++++ .../import-attributes/options.json | 4 + .../import-attributes/string-literal/input.js | 2 + .../string-literal/output.json | 107 ++++++++++++++ .../trailing-comma-dynamic/input.js | 2 + .../trailing-comma-dynamic/output.json | 110 ++++++++++++++ .../import-attributes/trailing-comma/input.js | 2 + .../trailing-comma/output.json | 107 ++++++++++++++ .../valid-empty-attribute/input.js | 4 + .../valid-empty-attribute/output.json | 133 +++++++++++++++++ .../valid-export-class/input.js | 1 + .../valid-export-class/output.json | 34 +++++ .../valid-export-function/input.js | 1 + .../valid-export-function/output.json | 37 +++++ .../valid-export-variable/input.js | 1 + .../valid-export-variable/output.json | 44 ++++++ .../valid-export-without-from/input.js | 3 + .../valid-export-without-from/output.json | 60 ++++++++ .../valid-string-attribute-key/input.js | 1 + .../valid-string-attribute-key/output.json | 51 +++++++ .../input.js | 1 + .../output.json | 57 ++++++++ .../input.js | 1 + .../output.json | 46 ++++++ .../input.js | 2 + .../output.json | 63 ++++++++ .../input.js | 2 + .../output.json | 86 +++++++++++ .../input.js | 1 + .../output.json | 63 ++++++++ .../input.js | 1 + .../options.json | 3 + .../input.js | 1 + .../output.json | 63 ++++++++ .../input.js | 1 + .../output.json | 81 +++++++++++ .../input.js | 1 + .../output.json | 44 ++++++ .../input.js | 2 + .../output.json | 66 +++++++++ .../input.js | 2 + .../output.json | 47 ++++++ .../valid-syntax-with-attributes/input.js | 1 + .../valid-syntax-with-attributes/output.json | 57 ++++++++ .../valid-syntax-with-invalid-value/input.js | 1 + .../options.json | 3 + .../input.js | 1 + .../output.json | 57 ++++++++ .../input.js | 1 + .../output.json | 75 ++++++++++ .../valid-syntax-without-attributes/input.js | 1 + .../output.json | 38 +++++ .../import-attributes/without-plugin/input.js | 1 + .../without-plugin/options.json | 5 + .../options.json | 5 +- .../options.json | 5 +- .../import-with-statement/output.json | 17 ++- .../without-plugin/options.json | 4 +- packages/babel-parser/test/plugin-options.js | 2 +- .../babel-parser/typings/babel-parser.d.ts | 4 +- .../.npmignore | 2 + .../README.md | 19 +++ .../package.json | 44 ++++++ .../src/index.ts | 30 ++++ packages/babel-preset-env/package.json | 1 + .../babel-preset-env/src/available-plugins.ts | 3 + packages/babel-preset-env/src/index.ts | 10 +- .../src/plugins-compat-data.ts | 4 + .../babel-preset-env/src/shipped-proposals.ts | 5 +- .../stdout.txt | 2 +- .../entry-corejs2-shippedProposals/stdout.txt | 2 +- .../entry-corejs3-all-chrome-71/stdout.txt | 2 +- .../entry-corejs3-all/stdout.txt | 2 +- .../entry-corejs3-babel-polyfill/stdout.txt | 2 +- .../entry-corejs3-es-chrome-71/stdout.txt | 2 +- .../stdout.txt | 2 +- .../entry-corejs3-es-proposals/stdout.txt | 2 +- .../debug-babel-7/entry-corejs3-es/stdout.txt | 2 +- .../stdout.txt | 2 +- .../entry-corejs3-runtime-only/stdout.txt | 2 +- .../stdout.txt | 2 +- .../entry-corejs3-specific-entries/stdout.txt | 2 +- .../entry-corejs3-stable-chrome-71/stdout.txt | 2 +- .../stdout.txt | 2 +- .../entry-corejs3-stable/stdout.txt | 2 +- .../entry-corejs3-stage-chrome-71/stdout.txt | 2 +- .../entry-corejs3-stage/stdout.txt | 2 +- .../entry-corejs3-web-chrome-71/stdout.txt | 2 +- .../entry-corejs3-web/stdout.txt | 2 +- .../stdout.txt | 2 +- .../shippedProposals-chrome-80/stdout.txt | 2 +- .../shippedProposals-chrome-84/stdout.txt | 2 +- .../stdout.txt | 2 +- .../stdout.txt | 2 +- .../stdout.txt | 2 +- .../stdout.txt | 2 +- .../stdout.txt | 2 +- .../entry-corejs2-shippedProposals/stdout.txt | 2 +- .../entry-corejs3-all-chrome-71/stdout.txt | 2 +- .../debug/entry-corejs3-all/stdout.txt | 2 +- .../entry-corejs3-babel-polyfill/stdout.txt | 2 +- .../entry-corejs3-es-chrome-71/stdout.txt | 2 +- .../stdout.txt | 2 +- .../entry-corejs3-es-proposals/stdout.txt | 2 +- .../debug/entry-corejs3-es/stdout.txt | 2 +- .../stdout.txt | 2 +- .../entry-corejs3-runtime-only/stdout.txt | 2 +- .../stdout.txt | 2 +- .../entry-corejs3-specific-entries/stdout.txt | 2 +- .../entry-corejs3-stable-chrome-71/stdout.txt | 2 +- .../stdout.txt | 2 +- .../debug/entry-corejs3-stable/stdout.txt | 2 +- .../entry-corejs3-stage-chrome-71/stdout.txt | 2 +- .../debug/entry-corejs3-stage/stdout.txt | 2 +- .../entry-corejs3-web-chrome-71/stdout.txt | 2 +- .../debug/entry-corejs3-web/stdout.txt | 2 +- .../stdout.txt | 2 +- .../shippedProposals-chrome-80/stdout.txt | 2 +- .../shippedProposals-chrome-84/stdout.txt | 2 +- .../stdout.txt | 2 +- .../stdout.txt | 2 +- .../stdout.txt | 2 +- .../stdout.txt | 2 +- packages/babel-standalone/package.json | 1 + .../scripts/pluginConfig.json | 1 + .../babel-standalone/src/generated/plugins.ts | 3 + .../src/ast-types/generated/index.ts | 3 + packages/babel-types/src/definitions/core.ts | 24 ++++ packages/babel-types/src/definitions/utils.ts | 4 +- tsconfig.json | 4 + yarn.lock | 13 ++ 418 files changed, 7707 insertions(+), 203 deletions(-) create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-assert-to-assert/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-assert-to-assert/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-assert-to-assert/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-assert-to-default/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-assert-to-default/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-assert-to-default/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-assert-to-with-legacy/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-assert-to-with-legacy/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-assert-to-with-legacy/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-assert-to-with/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-assert-to-with/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-assert-to-with/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-with-to-assert/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-with-to-assert/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-with-to-assert/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-with-to-default/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-with-to-default/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-with-to-default/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-with-to-with-legacy/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-with-to-with-legacy/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-with-to-with-legacy/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-with-to-with/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-with-to-with/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/assertions-with-to-with/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-assert-to-assert/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-assert-to-assert/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-assert-to-assert/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-assert-to-default/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-assert-to-default/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-assert-to-default/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-assert-to-with-legacy/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-assert-to-with-legacy/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-assert-to-with-legacy/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-assert-to-with/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-assert-to-with/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-assert-to-with/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-with-to-assert/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-with-to-assert/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-with-to-assert/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-with-to-default/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-with-to-default/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-with-to-default/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-with-to-with-legacy/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-with-to-with-legacy/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-with-to-with-legacy/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-with-to-with/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-with-to-with/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/attributes-with-to-with/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/legacy-module-attributes-to-assert/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/legacy-module-attributes-to-assert/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/legacy-module-attributes-to-assert/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/legacy-module-attributes-to-default/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/legacy-module-attributes-to-default/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/legacy-module-attributes-to-default/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/legacy-module-attributes-to-with-legacy/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/legacy-module-attributes-to-with-legacy/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/legacy-module-attributes-to-with-legacy/output.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/legacy-module-attributes-to-with/input.js create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/legacy-module-attributes-to-with/options.json create mode 100644 packages/babel-generator/test/fixtures/importAttributesKeyword/legacy-module-attributes-to-with/output.js create mode 100644 packages/babel-parser/test/fixtures/estree/dynamic-import/import-attributes-null/input.js create mode 100644 packages/babel-parser/test/fixtures/estree/dynamic-import/import-attributes-null/options.json create mode 100644 packages/babel-parser/test/fixtures/estree/dynamic-import/import-attributes-null/output.json create mode 100644 packages/babel-parser/test/fixtures/estree/dynamic-import/import-attributes/input.js create mode 100644 packages/babel-parser/test/fixtures/estree/dynamic-import/import-attributes/options.json create mode 100644 packages/babel-parser/test/fixtures/estree/dynamic-import/import-attributes/output.json create mode 100644 packages/babel-parser/test/fixtures/estree/import-attributes/valid-syntax-with-attributes/input.js create mode 100644 packages/babel-parser/test/fixtures/estree/import-attributes/valid-syntax-with-attributes/options.json create mode 100644 packages/babel-parser/test/fixtures/estree/import-attributes/valid-syntax-with-attributes/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/_no-plugin/import-attributes/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/_no-plugin/import-attributes/options.json delete mode 100644 packages/babel-parser/test/fixtures/experimental/_no-plugin/module-attributes/input.js delete mode 100644 packages/babel-parser/test/fixtures/experimental/_no-plugin/module-attributes/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/dynamic-import-with-valid-syntax/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/dynamic-import-with-valid-syntax/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/import-with-call-expression/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/import-with-call-expression/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/incorrect-arity/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/incorrect-arity/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/invalid-export-without-from/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/invalid-export-without-from/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/invalid-spread-element-import-call/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/invalid-spread-element-import-call/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/invalid-syntax-export-with-repeated-type/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/invalid-syntax-export-with-repeated-type/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/invalid-syntax-export-without-assertions-identifier/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/invalid-syntax-export-without-assertions-identifier/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/invalid-syntax-with-repeated-type-string/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/invalid-syntax-with-repeated-type-string/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/invalid-syntax-with-repeated-type/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/invalid-syntax-with-repeated-type/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/invalid-syntax-without-assertions-identifier/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/invalid-syntax-without-assertions-identifier/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/invalid-with-entry-no-colon/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/invalid-with-entry-no-colon/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/linebreak-before-with/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/linebreak-before-with/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/string-literal/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/string-literal/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/trailing-comma-dynamic/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/trailing-comma-dynamic/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/trailing-comma/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/trailing-comma/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-empty-assertion/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-empty-assertion/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-export-class/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-export-class/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-export-function/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-export-function/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-export-variable/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-export-variable/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-export-without-from/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-export-without-from/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-string-assertion-key/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-string-assertion-key/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-star-as-with-assertions/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-star-as-with-assertions/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-star-with-assertions/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-star-with-assertions/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-with-and-assertions-multiple-lines/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-with-and-assertions-multiple-lines/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-with-assertions-and-value/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-with-assertions-and-value/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-with-assertions/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-with-assertions/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-with-invalid-value/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-with-invalid-value/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-with-no-type-assertion/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-with-no-type-assertion/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-with-object-method-assertion/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-with-object-method-assertion/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-without-assertions/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-export-without-assertions/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-with-assertions-and-value/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-with-assertions-and-value/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-with-assertions-multiple-lines/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-with-assertions-multiple-lines/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-with-assertions/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-with-assertions/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-with-invalid-value/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-with-invalid-value/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-with-no-type-assertion/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-with-no-type-assertion/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-with-object-method-assertion/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-with-object-method-assertion/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-without-assertions/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/valid-syntax-without-assertions/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/without-plugin/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/without-plugin/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions/with-import-attributes/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-assertions/with-import-attributes/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/_deprecated-syntax-not-enabled/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/_deprecated-syntax-not-enabled/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/_deprecated-syntax-not-enabled/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/dynamic-import-with-valid-syntax/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/dynamic-import-with-valid-syntax/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/import-assert-call-expression/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/import-assert-call-expression/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/incorrect-arity/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/incorrect-arity/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-assert-entry-no-colon/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-assert-entry-no-colon/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-escaped-assert/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-escaped-assert/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-escaped-assert/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-export-without-from/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-export-without-from/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-export-without-from/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-spread-element-import-call/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-spread-element-import-call/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-syntax-export-with-repeated-type/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-syntax-export-with-repeated-type/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-syntax-export-without-attributes-identifier/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-syntax-export-without-attributes-identifier/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-syntax-import-linebreak-asserts/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-syntax-import-linebreak-asserts/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-syntax-with-repeated-type-string/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-syntax-with-repeated-type-string/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-syntax-with-repeated-type/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-syntax-with-repeated-type/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-syntax-without-attributes-identifier/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/invalid-syntax-without-attributes-identifier/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/string-literal/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/string-literal/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/trailing-comma-dynamic/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/trailing-comma-dynamic/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/trailing-comma/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/trailing-comma/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-empty-attribute/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-empty-attribute/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-export-class/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-export-class/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-export-function/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-export-function/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-export-variable/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-export-variable/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-export-without-from/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-export-without-from/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-string-attribute-key/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-string-attribute-key/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-star-as-with-attributes/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-star-as-with-attributes/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-star-with-attributes/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-star-with-attributes/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-with-and-attributes-multiple-lines/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-with-and-attributes-multiple-lines/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-with-attributes-and-value/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-with-attributes-and-value/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-with-attributes/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-with-attributes/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-with-invalid-value/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-with-invalid-value/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-with-no-type-attribute/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-with-no-type-attribute/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-with-object-method-attribute/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-with-object-method-attribute/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-without-attributes/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-export-without-attributes/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-with-attributes-and-value/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-with-attributes-and-value/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-with-attributes-multiple-lines/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-with-attributes-multiple-lines/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-with-attributes/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-with-attributes/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-with-invalid-value/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-with-invalid-value/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-with-no-type-attribute/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-with-no-type-attribute/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-with-object-method-attribute/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-with-object-method-attribute/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-without-attributes/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/valid-syntax-without-attributes/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/without-plugin/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/without-plugin/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/dynamic-import-with-valid-syntax/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/dynamic-import-with-valid-syntax/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/import-with-call-expression/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/import-with-call-expression/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/incorrect-arity/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/incorrect-arity/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/invalid-export-without-from/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/invalid-export-without-from/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/invalid-spread-element-import-call/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/invalid-spread-element-import-call/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/invalid-syntax-export-with-repeated-type/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/invalid-syntax-export-with-repeated-type/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/invalid-syntax-export-without-attributes-identifier/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/invalid-syntax-export-without-attributes-identifier/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/invalid-syntax-with-repeated-type-string/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/invalid-syntax-with-repeated-type-string/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/invalid-syntax-with-repeated-type/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/invalid-syntax-with-repeated-type/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/invalid-syntax-without-attributes-identifier/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/invalid-syntax-without-attributes-identifier/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/invalid-with-entry-no-colon/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/invalid-with-entry-no-colon/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/linebreak-before-with/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/linebreak-before-with/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/string-literal/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/string-literal/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/trailing-comma-dynamic/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/trailing-comma-dynamic/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/trailing-comma/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/trailing-comma/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-empty-attribute/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-empty-attribute/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-export-class/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-export-class/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-export-function/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-export-function/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-export-variable/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-export-variable/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-export-without-from/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-export-without-from/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-string-attribute-key/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-string-attribute-key/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-star-as-with-attributes/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-star-as-with-attributes/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-star-with-attributes/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-star-with-attributes/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-with-and-attributes-multiple-lines/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-with-and-attributes-multiple-lines/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-with-attributes-and-value/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-with-attributes-and-value/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-with-attributes/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-with-attributes/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-with-invalid-value/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-with-invalid-value/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-with-no-type-attribute/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-with-no-type-attribute/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-with-object-method-attribute/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-with-object-method-attribute/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-without-attributes/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-export-without-attributes/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-with-attributes-and-value/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-with-attributes-and-value/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-with-attributes-multiple-lines/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-with-attributes-multiple-lines/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-with-attributes/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-with-attributes/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-with-invalid-value/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-with-invalid-value/options.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-with-no-type-attribute/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-with-no-type-attribute/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-with-object-method-attribute/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-with-object-method-attribute/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-without-attributes/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/valid-syntax-without-attributes/output.json create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/without-plugin/input.js create mode 100644 packages/babel-parser/test/fixtures/experimental/import-attributes/without-plugin/options.json create mode 100644 packages/babel-plugin-syntax-import-attributes/.npmignore create mode 100644 packages/babel-plugin-syntax-import-attributes/README.md create mode 100644 packages/babel-plugin-syntax-import-attributes/package.json create mode 100644 packages/babel-plugin-syntax-import-attributes/src/index.ts diff --git a/Makefile.js b/Makefile.js index 60ac2b5c9fe6..89930e4e1143 100644 --- a/Makefile.js +++ b/Makefile.js @@ -1,3 +1,3 @@ /* eslint-disable */ // prettier-ignore -"use strict";var e=require("os"),t=require("fs"),r=require("path"),n=require("events"),i=require("assert"),o=require("util"),s=require("child_process");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=c(e),u=c(t),l=c(r),f=c(n),p=c(i),h=c(o),d=c(s),v="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function g(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var y=function(e){return e&&e.Math==Math&&e},m=y("object"==typeof globalThis&&globalThis)||y("object"==typeof window&&window)||y("object"==typeof self&&self)||y("object"==typeof v&&v)||function(){return this}()||Function("return this")(),E={},b=function(e){try{return!!e()}catch(e){return!0}},w=!b((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),O=!b((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),S=O,R=Function.prototype.call,I=S?R.bind(R):function(){return R.apply(R,arguments)},A={},j={}.propertyIsEnumerable,x=Object.getOwnPropertyDescriptor,k=x&&!j.call({1:2},1);A.f=k?function(e){var t=x(this,e);return!!t&&t.enumerable}:j;var L,_,T=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},N=O,P=Function.prototype,F=P.call,D=N&&P.bind.bind(F,F),C=N?D:function(e){return function(){return F.apply(e,arguments)}},M=C,G=M({}.toString),$=M("".slice),U=function(e){return $(G(e),8,-1)},B=U,X=C,q=function(e){if("Function"===B(e))return X(e)},W=b,V=U,H=Object,z=q("".split),Y=W((function(){return!H("z").propertyIsEnumerable(0)}))?function(e){return"String"==V(e)?z(e,""):H(e)}:H,K=function(e){return null==e},J=K,Q=TypeError,Z=function(e){if(J(e))throw Q("Can't call method on "+e);return e},ee=Y,te=Z,re=function(e){return ee(te(e))},ne="object"==typeof document&&document.all,ie={all:ne,IS_HTMLDDA:void 0===ne&&void 0!==ne},oe=ie.all,se=ie.IS_HTMLDDA?function(e){return"function"==typeof e||e===oe}:function(e){return"function"==typeof e},ce=se,ae=ie.all,ue=ie.IS_HTMLDDA?function(e){return"object"==typeof e?null!==e:ce(e)||e===ae}:function(e){return"object"==typeof e?null!==e:ce(e)},le=m,fe=se,pe=function(e){return fe(e)?e:void 0},he=function(e,t){return arguments.length<2?pe(le[e]):le[e]&&le[e][t]},de=q({}.isPrototypeOf),ve=he("navigator","userAgent")||"",ge=m,ye=ve,me=ge.process,Ee=ge.Deno,be=me&&me.versions||Ee&&Ee.version,we=be&&be.v8;we&&(_=(L=we.split("."))[0]>0&&L[0]<4?1:+(L[0]+L[1])),!_&&ye&&(!(L=ye.match(/Edge\/(\d+)/))||L[1]>=74)&&(L=ye.match(/Chrome\/(\d+)/))&&(_=+L[1]);var Oe=_,Se=Oe,Re=b,Ie=!!Object.getOwnPropertySymbols&&!Re((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Se&&Se<41})),Ae=Ie&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,je=he,xe=se,ke=de,Le=Object,_e=Ae?function(e){return"symbol"==typeof e}:function(e){var t=je("Symbol");return xe(t)&&ke(t.prototype,Le(e))},Te=String,Ne=function(e){try{return Te(e)}catch(e){return"Object"}},Pe=se,Fe=Ne,De=TypeError,Ce=function(e){if(Pe(e))return e;throw De(Fe(e)+" is not a function")},Me=Ce,Ge=K,$e=function(e,t){var r=e[t];return Ge(r)?void 0:Me(r)},Ue=I,Be=se,Xe=ue,qe=TypeError,We={exports:{}},Ve=m,He=Object.defineProperty,ze=function(e,t){try{He(Ve,e,{value:t,configurable:!0,writable:!0})}catch(r){Ve[e]=t}return t},Ye=ze,Ke=m["__core-js_shared__"]||Ye("__core-js_shared__",{}),Je=Ke;(We.exports=function(e,t){return Je[e]||(Je[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.26.0",mode:"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.0/LICENSE",source:"https://github.com/zloirock/core-js"});var Qe=We.exports,Ze=Z,et=Object,tt=function(e){return et(Ze(e))},rt=tt,nt=q({}.hasOwnProperty),it=Object.hasOwn||function(e,t){return nt(rt(e),t)},ot=q,st=0,ct=Math.random(),at=ot(1..toString),ut=function(e){return"Symbol("+(void 0===e?"":e)+")_"+at(++st+ct,36)},lt=m,ft=it,pt=ut,ht=Ie,dt=Ae,vt=Qe("wks"),gt=lt.Symbol,yt=gt&>.for,mt=dt?gt:gt&>.withoutSetter||pt,Et=function(e){if(!ft(vt,e)||!ht&&"string"!=typeof vt[e]){var t="Symbol."+e;ht&&ft(gt,e)?vt[e]=gt[e]:vt[e]=dt&&yt?yt(t):mt(t)}return vt[e]},bt=I,wt=ue,Ot=_e,St=$e,Rt=function(e,t){var r,n;if("string"===t&&Be(r=e.toString)&&!Xe(n=Ue(r,e)))return n;if(Be(r=e.valueOf)&&!Xe(n=Ue(r,e)))return n;if("string"!==t&&Be(r=e.toString)&&!Xe(n=Ue(r,e)))return n;throw qe("Can't convert object to primitive value")},It=TypeError,At=Et("toPrimitive"),jt=function(e,t){if(!wt(e)||Ot(e))return e;var r,n=St(e,At);if(n){if(void 0===t&&(t="default"),r=bt(n,e,t),!wt(r)||Ot(r))return r;throw It("Can't convert object to primitive value")}return void 0===t&&(t="number"),Rt(e,t)},xt=_e,kt=function(e){var t=jt(e,"string");return xt(t)?t:t+""},Lt=ue,_t=m.document,Tt=Lt(_t)&&Lt(_t.createElement),Nt=function(e){return Tt?_t.createElement(e):{}},Pt=Nt,Ft=!w&&!b((function(){return 7!=Object.defineProperty(Pt("div"),"a",{get:function(){return 7}}).a})),Dt=w,Ct=I,Mt=A,Gt=T,$t=re,Ut=kt,Bt=it,Xt=Ft,qt=Object.getOwnPropertyDescriptor;E.f=Dt?qt:function(e,t){if(e=$t(e),t=Ut(t),Xt)try{return qt(e,t)}catch(e){}if(Bt(e,t))return Gt(!Ct(Mt.f,e,t),e[t])};var Wt={},Vt=w&&b((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Ht=ue,zt=String,Yt=TypeError,Kt=function(e){if(Ht(e))return e;throw Yt(zt(e)+" is not an object")},Jt=w,Qt=Ft,Zt=Vt,er=Kt,tr=kt,rr=TypeError,nr=Object.defineProperty,ir=Object.getOwnPropertyDescriptor;Wt.f=Jt?Zt?function(e,t,r){if(er(e),t=tr(t),er(r),"function"==typeof e&&"prototype"===t&&"value"in r&&"writable"in r&&!r.writable){var n=ir(e,t);n&&n.writable&&(e[t]=r.value,r={configurable:"configurable"in r?r.configurable:n.configurable,enumerable:"enumerable"in r?r.enumerable:n.enumerable,writable:!1})}return nr(e,t,r)}:nr:function(e,t,r){if(er(e),t=tr(t),er(r),Qt)try{return nr(e,t,r)}catch(e){}if("get"in r||"set"in r)throw rr("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var or=Wt,sr=T,cr=w?function(e,t,r){return or.f(e,t,sr(1,r))}:function(e,t,r){return e[t]=r,e},ar={exports:{}},ur=w,lr=it,fr=Function.prototype,pr=ur&&Object.getOwnPropertyDescriptor,hr=lr(fr,"name"),dr={EXISTS:hr,PROPER:hr&&"something"===function(){}.name,CONFIGURABLE:hr&&(!ur||ur&&pr(fr,"name").configurable)},vr=se,gr=Ke,yr=q(Function.toString);vr(gr.inspectSource)||(gr.inspectSource=function(e){return yr(e)});var mr,Er,br,wr=gr.inspectSource,Or=se,Sr=m.WeakMap,Rr=Or(Sr)&&/native code/.test(String(Sr)),Ir=ut,Ar=Qe("keys"),jr=function(e){return Ar[e]||(Ar[e]=Ir(e))},xr={},kr=Rr,Lr=m,_r=ue,Tr=cr,Nr=it,Pr=Ke,Fr=jr,Dr=xr,Cr=Lr.TypeError,Mr=Lr.WeakMap;if(kr||Pr.state){var Gr=Pr.state||(Pr.state=new Mr);Gr.get=Gr.get,Gr.has=Gr.has,Gr.set=Gr.set,mr=function(e,t){if(Gr.has(e))throw Cr("Object already initialized");return t.facade=e,Gr.set(e,t),t},Er=function(e){return Gr.get(e)||{}},br=function(e){return Gr.has(e)}}else{var $r=Fr("state");Dr[$r]=!0,mr=function(e,t){if(Nr(e,$r))throw Cr("Object already initialized");return t.facade=e,Tr(e,$r,t),t},Er=function(e){return Nr(e,$r)?e[$r]:{}},br=function(e){return Nr(e,$r)}}var Ur={set:mr,get:Er,has:br,enforce:function(e){return br(e)?Er(e):mr(e,{})},getterFor:function(e){return function(t){var r;if(!_r(t)||(r=Er(t)).type!==e)throw Cr("Incompatible receiver, "+e+" required");return r}}},Br=b,Xr=se,qr=it,Wr=w,Vr=dr.CONFIGURABLE,Hr=wr,zr=Ur.enforce,Yr=Ur.get,Kr=Object.defineProperty,Jr=Wr&&!Br((function(){return 8!==Kr((function(){}),"length",{value:8}).length})),Qr=String(String).split("String"),Zr=ar.exports=function(e,t,r){"Symbol("===String(t).slice(0,7)&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!qr(e,"name")||Vr&&e.name!==t)&&(Wr?Kr(e,"name",{value:t,configurable:!0}):e.name=t),Jr&&r&&qr(r,"arity")&&e.length!==r.arity&&Kr(e,"length",{value:r.arity});try{r&&qr(r,"constructor")&&r.constructor?Wr&&Kr(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var n=zr(e);return qr(n,"source")||(n.source=Qr.join("string"==typeof t?t:"")),e};Function.prototype.toString=Zr((function(){return Xr(this)&&Yr(this).source||Hr(this)}),"toString");var en=ar.exports,tn=se,rn=Wt,nn=en,on=ze,sn=function(e,t,r,n){n||(n={});var i=n.enumerable,o=void 0!==n.name?n.name:t;if(tn(r)&&nn(r,o,n),n.global)i?e[t]=r:on(t,r);else{try{n.unsafe?e[t]&&(i=!0):delete e[t]}catch(e){}i?e[t]=r:rn.f(e,t,{value:r,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return e},cn={},an=Math.ceil,un=Math.floor,ln=Math.trunc||function(e){var t=+e;return(t>0?un:an)(t)},fn=function(e){var t=+e;return t!=t||0===t?0:ln(t)},pn=fn,hn=Math.max,dn=Math.min,vn=function(e,t){var r=pn(e);return r<0?hn(r+t,0):dn(r,t)},gn=fn,yn=Math.min,mn=function(e){return e>0?yn(gn(e),9007199254740991):0},En=mn,bn=function(e){return En(e.length)},wn=re,On=vn,Sn=bn,Rn=function(e){return function(t,r,n){var i,o=wn(t),s=Sn(o),c=On(n,s);if(e&&r!=r){for(;s>c;)if((i=o[c++])!=i)return!0}else for(;s>c;c++)if((e||c in o)&&o[c]===r)return e||c||0;return!e&&-1}},In={includes:Rn(!0),indexOf:Rn(!1)},An=it,jn=re,xn=In.indexOf,kn=xr,Ln=q([].push),_n=function(e,t){var r,n=jn(e),i=0,o=[];for(r in n)!An(kn,r)&&An(n,r)&&Ln(o,r);for(;t.length>i;)An(n,r=t[i++])&&(~xn(o,r)||Ln(o,r));return o},Tn=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Nn=_n,Pn=Tn.concat("length","prototype");cn.f=Object.getOwnPropertyNames||function(e){return Nn(e,Pn)};var Fn={};Fn.f=Object.getOwnPropertySymbols;var Dn=he,Cn=cn,Mn=Fn,Gn=Kt,$n=q([].concat),Un=Dn("Reflect","ownKeys")||function(e){var t=Cn.f(Gn(e)),r=Mn.f;return r?$n(t,r(e)):t},Bn=it,Xn=Un,qn=E,Wn=Wt,Vn=function(e,t,r){for(var n=Xn(t),i=Wn.f,o=qn.f,s=0;ss;)Oi.f(e,r=i[s++],n[r]);return e};var Ai,ji=he("document","documentElement"),xi=Kt,ki=gi,Li=Tn,_i=xr,Ti=ji,Ni=Nt,Pi=jr("IE_PROTO"),Fi=function(){},Di=function(e){return"