diff --git a/node_modules/.bin/browserslist-lint b/node_modules/.bin/update-browserslist-db similarity index 100% rename from node_modules/.bin/browserslist-lint rename to node_modules/.bin/update-browserslist-db diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index 00574d133..4e2317b44 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -46,41 +46,41 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", - "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", + "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", - "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", + "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.4", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.4", - "@babel/types": "^7.21.4", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -117,9 +117,9 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.21.3.tgz", - "integrity": "sha512-kfhmPimwo6k4P8zxNs8+T7yR44q1LdpsZdE1NkCsVlfiuTPRfnGgjaF8Qgug9q9Pou17u6wneYF0lDCZJATMFg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.5.tgz", + "integrity": "sha512-C69RWYNYtrgIRE5CmTd77ZiLDXqgBipahJc/jHP3sLcAGj6AJzxNIuKNpVnICqbyK7X3pFUfEvL++rvtbQpZkQ==", "dev": true, "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", @@ -153,12 +153,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", - "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", + "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", "dev": true, "dependencies": { - "@babel/types": "^7.21.4", + "@babel/types": "^7.22.5", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -182,38 +182,37 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.6.tgz", - "integrity": "sha512-KT10c1oWEpmrIRYnthbzHgoOf6B+Xd6a5yhdbNtdhtG7aO1or5HViuf1TQR36xY/QprXA5nvxO6nAjhJ4y38jw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", + "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", "dev": true, "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", - "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", + "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-validator-option": "^7.21.0", + "@babel/compat-data": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", "browserslist": "^4.21.3", "lru-cache": "^5.1.1", "semver": "^6.3.0" @@ -250,19 +249,20 @@ "dev": true }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz", - "integrity": "sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-member-expression-to-functions": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz", + "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" @@ -271,14 +271,24 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.4.tgz", - "integrity": "sha512-M00OuhU+0GyZ5iBBN9czjugzWrEq2vDpf/zCYHxxf93ul/Q5rv+a5h+/+0WnI1AebHNVtl5bFV0qsJoH23DbfA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz", + "integrity": "sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.3.1" + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" @@ -287,10 +297,19 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz", + "integrity": "sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.17.7", @@ -314,125 +333,113 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", "dev": true, "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", - "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", + "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", "dev": true, "dependencies": { - "@babel/types": "^7.21.0" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", + "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz", + "integrity": "sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -442,119 +449,119 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", - "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", + "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, "dependencies": { - "@babel/types": "^7.20.2" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", "dev": true, "dependencies": { - "@babel/types": "^7.20.0" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", + "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", - "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz", + "integrity": "sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", - "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", + "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", "dev": true, "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -563,9 +570,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -575,12 +582,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", + "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -590,14 +597,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", - "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", + "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.7" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -606,17 +613,11 @@ "@babel/core": "^7.13.0" } }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, "engines": { "node": ">=6.9.0" }, @@ -624,63 +625,53 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-class-properties": { + "node_modules/@babel/plugin-proposal-unicode-property-regex": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { - "node": ">=6.9.0" + "node": ">=4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", - "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { - "@babel/core": "^7.12.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -689,30 +680,37 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", - "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -721,14 +719,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -737,82 +734,109 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -821,16 +845,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", - "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -839,53 +860,47 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { - "node": ">=4" + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.5.tgz", + "integrity": "sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { "node": ">=6.9.0" @@ -894,37 +909,45 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", + "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -933,97 +956,132 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", + "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.12.0" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.5.tgz", + "integrity": "sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", + "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", + "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1032,13 +1090,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1047,13 +1106,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", - "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", + "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1062,15 +1122,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", - "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", + "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1079,13 +1137,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1094,13 +1154,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", - "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", + "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1109,21 +1170,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", - "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1132,14 +1185,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", - "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", + "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/template": "^7.20.7" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { "node": ">=6.9.0" @@ -1148,13 +1201,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", - "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1163,14 +1216,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", + "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1179,13 +1232,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", + "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1194,14 +1249,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", + "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1210,13 +1267,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz", - "integrity": "sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==", + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1225,30 +1283,29 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1257,13 +1314,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", + "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1272,14 +1330,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", - "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", + "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { "node": ">=6.9.0" @@ -1288,15 +1346,17 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz", - "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==", + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", + "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-simple-access": "^7.20.2" + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1305,16 +1365,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", - "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-identifier": "^7.19.1" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1323,14 +1381,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", + "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1339,29 +1397,30 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", - "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.5.tgz", + "integrity": "sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", + "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1370,14 +1429,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1386,13 +1445,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz", - "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", + "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1402,12 +1464,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1417,12 +1479,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", - "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", + "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-plugin-utils": "^7.22.5", "regenerator-transform": "^0.15.1" }, "engines": { @@ -1433,12 +1495,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1448,12 +1510,12 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1463,13 +1525,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", - "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1479,12 +1541,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1494,12 +1556,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1509,12 +1571,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1524,12 +1586,28 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", + "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1539,13 +1617,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1554,39 +1632,43 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/preset-env": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.21.4.tgz", - "integrity": "sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.20.7", - "@babel/plugin-proposal-async-generator-functions": "^7.20.7", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.21.0", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.20.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.21.0", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.21.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.5.tgz", + "integrity": "sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -1596,44 +1678,61 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.20.7", - "@babel/plugin-transform-async-to-generator": "^7.20.7", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.21.0", - "@babel/plugin-transform-classes": "^7.21.0", - "@babel/plugin-transform-computed-properties": "^7.20.7", - "@babel/plugin-transform-destructuring": "^7.21.3", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.21.0", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.20.11", - "@babel/plugin-transform-modules-commonjs": "^7.21.2", - "@babel/plugin-transform-modules-systemjs": "^7.20.11", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.20.5", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.21.3", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.20.5", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.20.7", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.5", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.5", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.5", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.5", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.5", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.21.4", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", + "@babel/types": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "core-js-compat": "^3.30.2", "semver": "^6.3.0" }, "engines": { @@ -1675,9 +1774,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", + "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", "dev": true, "dependencies": { "regenerator-runtime": "^0.13.11" @@ -1687,33 +1786,33 @@ } }, "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz", - "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.4", - "@babel/types": "^7.21.4", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", + "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1722,13 +1821,13 @@ } }, "node_modules/@babel/types": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", - "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" }, "engines": { @@ -1736,9 +1835,9 @@ } }, "node_modules/@bundle-stats/plugin-webpack-filter": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-filter/-/plugin-webpack-filter-4.3.3.tgz", - "integrity": "sha512-8zix4yzzHa3/JyrMEGFPTDtB+uST1gspIkxgsgPlZQ6UGhm0yFvwYIKD47GnslXiGV/s/tio9XbsoamlfV8fRA==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-filter/-/plugin-webpack-filter-4.4.2.tgz", + "integrity": "sha512-qWtRE7vHPbu3yFFkK/qnD79B2mzmnH29lqGYAhKQhxEJKeIdLWKi2RNvd8mBspSaaCxLI6bq/SCZ8I0S9VbD3g==", "engines": { "node": ">= 14.0" }, @@ -1747,9 +1846,9 @@ } }, "node_modules/@bundle-stats/plugin-webpack-validate": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-validate/-/plugin-webpack-validate-4.3.3.tgz", - "integrity": "sha512-sv2AVnugf99eED09apmTl/sTLtrNyQfRFSgcD788tu8Qhw5yEWdyhkaT6RNKP6ZGy21+eiOgmP2COqeLZaOxXQ==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-validate/-/plugin-webpack-validate-4.4.2.tgz", + "integrity": "sha512-vdujMY0OkW1ook6blqFYgb+kW8amH41kA9ukixL0fuM3NFpbQEEv5mi7mnTG14zcz56hkF5+uJz8Q7ie+4/X0Q==", "dependencies": { "lodash": "4.17.21", "superstruct": "1.0.3" @@ -1792,14 +1891,14 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", - "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.1", + "espree": "^9.5.2", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -1830,18 +1929,18 @@ } }, "node_modules/@eslint/js": { - "version": "8.38.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.38.0.tgz", - "integrity": "sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==", + "version": "8.43.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.43.0.tgz", + "integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -2117,21 +2216,21 @@ "deprecated": "Use @octokit/webhooks-types, @octokit/webhooks-schemas, or @octokit/webhooks-examples instead. See https://github.com/octokit/webhooks/issues/447" }, "node_modules/@relative-ci/agent": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@relative-ci/agent/-/agent-4.1.4.tgz", - "integrity": "sha512-3p7IexKUHHrTvHUAM8ZvrywMfMRj9ulTb9hJcGJ63EAULjGBngi8dcniX4ESg52bmbvip0QBdsAH6H+UOC1pxA==", - "dependencies": { - "@bundle-stats/plugin-webpack-filter": "4.3.3", - "@bundle-stats/plugin-webpack-validate": "4.3.3", - "core-js": "3.30.1", - "cosmiconfig": "8.1.3", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@relative-ci/agent/-/agent-4.1.5.tgz", + "integrity": "sha512-SXYXWFTVEyCWZo9slhmrOheucN/HKkg91D2qjRNCbmBL0lA4/tu0FQ1Yu7qvHKjo1iBalO+zTHqp1++mKDtx8w==", + "dependencies": { + "@bundle-stats/plugin-webpack-filter": "4.4.2", + "@bundle-stats/plugin-webpack-validate": "4.4.2", + "core-js": "3.31.0", + "cosmiconfig": "8.2.0", "debug": "4.3.4", - "dotenv": "16.0.3", + "dotenv": "16.3.1", "env-ci": "7.3.0", "fs-extra": "11.1.1", "isomorphic-fetch": "3.0.0", "lodash": "4.17.21", - "yargs": "17.7.1" + "yargs": "17.7.2" }, "bin": { "relative-ci-agent": "bin/index.js" @@ -2324,9 +2423,9 @@ } }, "node_modules/@webpack-cli/configtest": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.1.tgz", - "integrity": "sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", "dev": true, "engines": { "node": ">=14.15.0" @@ -2337,9 +2436,9 @@ } }, "node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", "dev": true, "engines": { "node": ">=14.15.0" @@ -2350,9 +2449,9 @@ } }, "node_modules/@webpack-cli/serve": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.2.tgz", - "integrity": "sha512-S9h3GmOmzUseyeFW3tYNnWS7gNUuwxZ3mmMq0JyW78Vx1SGKPSkt5bT4pB0rUnVfHjP0EL9gW2bOzmtiTfQt0A==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", "dev": true, "engines": { "node": ">=14.15.0" @@ -2388,6 +2487,14 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "peerDependencies": { + "acorn": "^8" + } + }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -2588,13 +2695,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz", + "integrity": "sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==", "dev": true, "dependencies": { "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", + "@babel/helper-define-polyfill-provider": "^0.4.0", "semver": "^6.1.1" }, "peerDependencies": { @@ -2611,25 +2718,25 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz", + "integrity": "sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" + "@babel/helper-define-polyfill-provider": "^0.4.0", + "core-js-compat": "^3.30.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz", + "integrity": "sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" + "@babel/helper-define-polyfill-provider": "^0.4.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -2669,9 +2776,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "version": "4.21.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.7.tgz", + "integrity": "sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==", "funding": [ { "type": "opencollective", @@ -2680,13 +2787,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" + "caniuse-lite": "^1.0.30001489", + "electron-to-chromium": "^1.4.411", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" }, "bin": { "browserslist": "cli.js" @@ -2722,9 +2833,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001412", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz", - "integrity": "sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA==", + "version": "1.0.30001490", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001490.tgz", + "integrity": "sha512-1aY8Q1URTGCkH/rWamLkxhgfT5yMp6Ua8D2LSAC3/LSUFv3R3NWoB6+SMDAELizUvzLPjH80W1mVLxDrtZjRTQ==", "funding": [ { "type": "opencollective", @@ -2733,6 +2844,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ] }, @@ -2846,9 +2961,9 @@ "dev": true }, "node_modules/core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.31.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.31.0.tgz", + "integrity": "sha512-NIp2TQSGfR6ba5aalZD+ZQ1fSxGhDo/s1w0nx3RYzf2pnJxt7YynxFlFScP6eV7+GZsKO95NSjGxyJsU3DZgeQ==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -2856,12 +2971,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.25.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.3.tgz", - "integrity": "sha512-xVtYpJQ5grszDHEUU9O7XbjjcZ0ccX3LgQsyqSvTnjX97ZqEgn9F5srmrwwwMtbKzDllyFPL+O+2OFMl1lU4TQ==", + "version": "3.30.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.2.tgz", + "integrity": "sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==", "dev": true, "dependencies": { - "browserslist": "^4.21.4" + "browserslist": "^4.21.5" }, "funding": { "type": "opencollective", @@ -2869,9 +2984,9 @@ } }, "node_modules/cosmiconfig": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", - "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", + "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", "dependencies": { "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -2950,17 +3065,20 @@ } }, "node_modules/dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" } }, "node_modules/electron-to-chromium": { - "version": "1.4.265", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.265.tgz", - "integrity": "sha512-38KaYBNs0oCzWCpr6j7fY/W9vF0vSp4tKFIshQTgdZMhUpkxgotkQgjJP6iGMdmlsgMs3i0/Hkko4UXLTrkYVQ==" + "version": "1.4.413", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.413.tgz", + "integrity": "sha512-Gd+/OAhRca06dkVxIQo/W7dr6Nmk9cx6lQdZ19GvFp51k5B/lUAokm6SJfNkdV8kFLsC3Z4sLTyEHWCnB1Efbw==" }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -2977,9 +3095,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz", - "integrity": "sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -3094,16 +3212,16 @@ } }, "node_modules/eslint": { - "version": "8.38.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.38.0.tgz", - "integrity": "sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==", + "version": "8.43.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.43.0.tgz", + "integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.2", - "@eslint/js": "8.38.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.43.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -3112,9 +3230,9 @@ "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.4.0", - "espree": "^9.5.1", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -3122,13 +3240,12 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", @@ -3355,9 +3472,9 @@ "peer": true }, "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -3365,6 +3482,9 @@ }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-scope/node_modules/estraverse": { @@ -3377,9 +3497,9 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", - "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3559,14 +3679,14 @@ } }, "node_modules/espree": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", - "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", "dev": true, "dependencies": { "acorn": "^8.8.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.0" + "eslint-visitor-keys": "^3.4.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3905,10 +4025,10 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, "node_modules/has": { @@ -4380,12 +4500,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/js-sdsl": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.4.tgz", - "integrity": "sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==", - "dev": true - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -4622,9 +4736,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==" }, "node_modules/npm-run-path": { "version": "4.0.1", @@ -5493,9 +5607,9 @@ "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" }, "node_modules/ts-loader": { - "version": "9.4.2", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.2.tgz", - "integrity": "sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA==", + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.3.tgz", + "integrity": "sha512-n3hBnm6ozJYzwiwt5YRiJZkzktftRpMiBApHaJPoWLA+qetQBAXkHqCLM6nwSdRDimqVtA5ocIkcTRLMTt7yzA==", "dev": true, "dependencies": { "chalk": "^4.1.0", @@ -5627,16 +5741,16 @@ } }, "node_modules/typescript": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", + "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=12.20" + "node": ">=14.17" } }, "node_modules/unbox-primitive": { @@ -5708,9 +5822,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", - "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "funding": [ { "type": "opencollective", @@ -5719,6 +5833,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { @@ -5726,7 +5844,7 @@ "picocolors": "^1.0.0" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -5766,9 +5884,9 @@ "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" }, "node_modules/webpack": { - "version": "5.80.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.80.0.tgz", - "integrity": "sha512-OIMiq37XK1rWO8mH9ssfFKZsXg4n6klTEDL7S8/HqbAOBBaiy8ABvXvz0dDCXeEF9gqwxSvVk611zFPjS8hJxA==", + "version": "5.87.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.87.0.tgz", + "integrity": "sha512-GOu1tNbQ7p1bDEoFRs2YPcfyGs8xq52yyPBZ3m2VGnXGtV9MxjrkABHm4V9Ia280OefsSLzvbVoXcfLxjKY/Iw==", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -5776,10 +5894,10 @@ "@webassemblyjs/wasm-edit": "^1.11.5", "@webassemblyjs/wasm-parser": "^1.11.5", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", + "acorn-import-assertions": "^1.9.0", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.13.0", + "enhanced-resolve": "^5.15.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -5789,7 +5907,7 @@ "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.1.2", + "schema-utils": "^3.2.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.7", "watchpack": "^2.4.0", @@ -5812,15 +5930,15 @@ } }, "node_modules/webpack-cli": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.2.tgz", - "integrity": "sha512-4y3W5Dawri5+8dXm3+diW6Mn1Ya+Dei6eEVAdIduAmYNLzv1koKVAqsfgrrc9P2mhrYHQphx5htnGkcNwtubyQ==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, "dependencies": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.0.1", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.2", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", "colorette": "^2.0.14", "commander": "^10.0.1", "cross-spawn": "^7.0.3", @@ -5869,14 +5987,6 @@ "node": ">=10.0.0" } }, - "node_modules/webpack/node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "peerDependencies": { - "acorn": "^8" - } - }, "node_modules/webpack/node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -5898,9 +6008,9 @@ } }, "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", - "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -6047,9 +6157,9 @@ "dev": true }, "node_modules/yargs": { - "version": "17.7.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", - "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", diff --git a/node_modules/@babel/code-frame/package.json b/node_modules/@babel/code-frame/package.json index 34b8f5ada..cc71339e1 100644 --- a/node_modules/@babel/code-frame/package.json +++ b/node_modules/@babel/code-frame/package.json @@ -1,6 +1,6 @@ { "name": "@babel/code-frame", - "version": "7.21.4", + "version": "7.22.5", "description": "Generate errors that contain a code frame that point to source locations.", "author": "The Babel Team (https://babel.dev/team)", "homepage": "https://babel.dev/docs/en/next/babel-code-frame", @@ -16,7 +16,7 @@ }, "main": "./lib/index.js", "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.5" }, "devDependencies": { "strip-ansi": "^4.0.0" diff --git a/node_modules/@babel/compat-data/corejs2-built-ins.js b/node_modules/@babel/compat-data/corejs2-built-ins.js index 68ce97ff8..ed19e0b8a 100644 --- a/node_modules/@babel/compat-data/corejs2-built-ins.js +++ b/node_modules/@babel/compat-data/corejs2-built-ins.js @@ -1 +1,2 @@ +// Todo (Babel 8): remove this file as Babel 8 drop support of core-js 2 module.exports = require("./data/corejs2-built-ins.json"); diff --git a/node_modules/@babel/compat-data/corejs3-shipped-proposals.js b/node_modules/@babel/compat-data/corejs3-shipped-proposals.js index 6a85b4d97..7909b8c46 100644 --- a/node_modules/@babel/compat-data/corejs3-shipped-proposals.js +++ b/node_modules/@babel/compat-data/corejs3-shipped-proposals.js @@ -1 +1,2 @@ +// Todo (Babel 8): remove this file now that it is included in babel-plugin-polyfill-corejs3 module.exports = require("./data/corejs3-shipped-proposals.json"); diff --git a/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json b/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json index 7ce01ed93..d03b698ff 100644 --- a/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json +++ b/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json @@ -1,5 +1,5 @@ [ - "esnext.global-this", "esnext.promise.all-settled", - "esnext.string.match-all" + "esnext.string.match-all", + "esnext.global-this" ] diff --git a/node_modules/@babel/compat-data/data/plugin-bugfixes.json b/node_modules/@babel/compat-data/data/plugin-bugfixes.json index 57ab95d8b..8befd323f 100644 --- a/node_modules/@babel/compat-data/data/plugin-bugfixes.json +++ b/node_modules/@babel/compat-data/data/plugin-bugfixes.json @@ -170,15 +170,15 @@ "electron": "1.2" }, "transform-block-scoping": { - "chrome": "49", - "opera": "36", + "chrome": "50", + "opera": "37", "edge": "14", - "firefox": "51", + "firefox": "53", "safari": "10", "node": "6", "deno": "1", "ios": "10", "samsung": "5", - "electron": "0.37" + "electron": "1.1" } } diff --git a/node_modules/@babel/compat-data/data/plugins.json b/node_modules/@babel/compat-data/data/plugins.json index 6d69c7984..2e6df5ba4 100644 --- a/node_modules/@babel/compat-data/data/plugins.json +++ b/node_modules/@babel/compat-data/data/plugins.json @@ -1,4 +1,9 @@ { + "transform-unicode-sets-regex": { + "chrome": "112", + "opera": "98", + "edge": "112" + }, "transform-class-static-block": { "chrome": "94", "opera": "80", @@ -566,16 +571,16 @@ "electron": "1.2" }, "transform-block-scoping": { - "chrome": "49", - "opera": "36", + "chrome": "50", + "opera": "37", "edge": "14", - "firefox": "51", + "firefox": "53", "safari": "11", "node": "6", "deno": "1", "ios": "11", "samsung": "5", - "electron": "0.37" + "electron": "1.1" }, "transform-typeof-symbol": { "chrome": "38", diff --git a/node_modules/@babel/compat-data/package.json b/node_modules/@babel/compat-data/package.json index eaff89974..47129c476 100644 --- a/node_modules/@babel/compat-data/package.json +++ b/node_modules/@babel/compat-data/package.json @@ -1,6 +1,6 @@ { "name": "@babel/compat-data", - "version": "7.21.4", + "version": "7.22.5", "author": "The Babel Team (https://babel.dev/team)", "license": "MIT", "description": "", @@ -30,7 +30,7 @@ ], "devDependencies": { "@mdn/browser-compat-data": "^4.0.10", - "core-js-compat": "^3.25.1", + "core-js-compat": "^3.30.2", "electron-to-chromium": "^1.4.248" }, "engines": { diff --git a/node_modules/@babel/core/lib/config/caching.js.map b/node_modules/@babel/core/lib/config/caching.js.map index 1b78fba07..ffdac2fe3 100644 --- a/node_modules/@babel/core/lib/config/caching.js.map +++ b/node_modules/@babel/core/lib/config/caching.js.map @@ -1 +1 @@ -{"version":3,"names":["_gensync","data","require","_async","_util","synchronize","gen","gensync","sync","genTrue","makeWeakCache","handler","makeCachedFunction","WeakMap","makeWeakCacheSync","makeStrongCache","Map","makeStrongCacheSync","CallCache","callCacheSync","callCacheAsync","futureCache","cachedFunction","arg","asyncContext","isAsync","callCache","cached","getCachedValueOrWait","valid","value","cache","CacheConfigurator","handlerResult","finishLock","isIterableIterator","onFirstPause","setupAsyncLocks","updateFunctionCache","delete","release","getCachedValue","cachedValue","get","waitFor","promise","config","Lock","configured","forever","deactivate","mode","set","validator","push","constructor","_active","_never","_forever","_invalidate","_configured","_pairs","_data","simple","makeSimpleConfigurator","Error","never","using","key","fn","maybeAsync","isThenable","then","invalidate","pairs","cacheFn","val","assertSimpleType","cb","released","_resolve","Promise","resolve"],"sources":["../../src/config/caching.ts"],"sourcesContent":["import gensync from \"gensync\";\nimport type { Handler } from \"gensync\";\nimport {\n maybeAsync,\n isAsync,\n onFirstPause,\n waitFor,\n isThenable,\n} from \"../gensync-utils/async\";\nimport { isIterableIterator } from \"./util\";\n\nexport type { CacheConfigurator };\n\nexport type SimpleCacheConfigurator = {\n (forever: boolean): void;\n (handler: () => T): T;\n\n forever: () => void;\n never: () => void;\n using: (handler: () => T) => T;\n invalidate: (handler: () => T) => T;\n};\n\nexport type CacheEntry = Array<{\n value: ResultT;\n valid: (channel: SideChannel) => Handler;\n}>;\n\nconst synchronize = (\n gen: (...args: ArgsT) => Handler,\n): ((...args: ArgsT) => ResultT) => {\n return gensync(gen).sync;\n};\n\n// eslint-disable-next-line require-yield\nfunction* genTrue() {\n return true;\n}\n\nexport function makeWeakCache(\n handler: (\n arg: ArgT,\n cache: CacheConfigurator,\n ) => Handler | ResultT,\n): (arg: ArgT, data: SideChannel) => Handler {\n return makeCachedFunction(WeakMap, handler);\n}\n\nexport function makeWeakCacheSync(\n handler: (arg: ArgT, cache?: CacheConfigurator) => ResultT,\n): (arg: ArgT, data?: SideChannel) => ResultT {\n return synchronize<[ArgT, SideChannel], ResultT>(\n makeWeakCache(handler),\n );\n}\n\nexport function makeStrongCache(\n handler: (\n arg: ArgT,\n cache: CacheConfigurator,\n ) => Handler | ResultT,\n): (arg: ArgT, data: SideChannel) => Handler {\n return makeCachedFunction(Map, handler);\n}\n\nexport function makeStrongCacheSync(\n handler: (arg: ArgT, cache?: CacheConfigurator) => ResultT,\n): (arg: ArgT, data?: SideChannel) => ResultT {\n return synchronize<[ArgT, SideChannel], ResultT>(\n makeStrongCache(handler),\n );\n}\n\n/* NOTE: Part of the logic explained in this comment is explained in the\n * getCachedValueOrWait and setupAsyncLocks functions.\n *\n * > There are only two hard things in Computer Science: cache invalidation and naming things.\n * > -- Phil Karlton\n *\n * I don't know if Phil was also thinking about handling a cache whose invalidation function is\n * defined asynchronously is considered, but it is REALLY hard to do correctly.\n *\n * The implemented logic (only when gensync is run asynchronously) is the following:\n * 1. If there is a valid cache associated to the current \"arg\" parameter,\n * a. RETURN the cached value\n * 3. If there is a FinishLock associated to the current \"arg\" parameter representing a valid cache,\n * a. Wait for that lock to be released\n * b. RETURN the value associated with that lock\n * 5. Start executing the function to be cached\n * a. If it pauses on a promise, then\n * i. Let FinishLock be a new lock\n * ii. Store FinishLock as associated to the current \"arg\" parameter\n * iii. Wait for the function to finish executing\n * iv. Release FinishLock\n * v. Send the function result to anyone waiting on FinishLock\n * 6. Store the result in the cache\n * 7. RETURN the result\n */\nfunction makeCachedFunction(\n CallCache: new () => CacheMap,\n handler: (\n arg: ArgT,\n cache: CacheConfigurator,\n ) => Handler | ResultT,\n): (arg: ArgT, data: SideChannel) => Handler {\n const callCacheSync = new CallCache();\n const callCacheAsync = new CallCache();\n const futureCache = new CallCache>();\n\n return function* cachedFunction(arg: ArgT, data: SideChannel) {\n const asyncContext = yield* isAsync();\n const callCache = asyncContext ? callCacheAsync : callCacheSync;\n\n const cached = yield* getCachedValueOrWait(\n asyncContext,\n callCache,\n futureCache,\n arg,\n data,\n );\n if (cached.valid) return cached.value;\n\n const cache = new CacheConfigurator(data);\n\n const handlerResult: Handler | ResultT = handler(arg, cache);\n\n let finishLock: Lock;\n let value: ResultT;\n\n if (isIterableIterator(handlerResult)) {\n value = yield* onFirstPause(handlerResult, () => {\n finishLock = setupAsyncLocks(cache, futureCache, arg);\n });\n } else {\n value = handlerResult;\n }\n\n updateFunctionCache(callCache, cache, arg, value);\n\n if (finishLock) {\n futureCache.delete(arg);\n finishLock.release(value);\n }\n\n return value;\n };\n}\n\ntype CacheMap =\n | Map>\n // @ts-expect-error todo(flow->ts): add `extends object` constraint to ArgT\n | WeakMap>;\n\nfunction* getCachedValue(\n cache: CacheMap,\n arg: ArgT,\n data: SideChannel,\n): Handler<{ valid: true; value: ResultT } | { valid: false; value: null }> {\n const cachedValue: CacheEntry | void = cache.get(arg);\n\n if (cachedValue) {\n for (const { value, valid } of cachedValue) {\n if (yield* valid(data)) return { valid: true, value };\n }\n }\n\n return { valid: false, value: null };\n}\n\nfunction* getCachedValueOrWait(\n asyncContext: boolean,\n callCache: CacheMap,\n futureCache: CacheMap, SideChannel>,\n arg: ArgT,\n data: SideChannel,\n): Handler<{ valid: true; value: ResultT } | { valid: false; value: null }> {\n const cached = yield* getCachedValue(callCache, arg, data);\n if (cached.valid) {\n return cached;\n }\n\n if (asyncContext) {\n const cached = yield* getCachedValue(futureCache, arg, data);\n if (cached.valid) {\n const value = yield* waitFor(cached.value.promise);\n return { valid: true, value };\n }\n }\n\n return { valid: false, value: null };\n}\n\nfunction setupAsyncLocks(\n config: CacheConfigurator,\n futureCache: CacheMap, SideChannel>,\n arg: ArgT,\n): Lock {\n const finishLock = new Lock();\n\n updateFunctionCache(futureCache, config, arg, finishLock);\n\n return finishLock;\n}\n\nfunction updateFunctionCache<\n ArgT,\n ResultT,\n SideChannel,\n Cache extends CacheMap,\n>(\n cache: Cache,\n config: CacheConfigurator,\n arg: ArgT,\n value: ResultT,\n) {\n if (!config.configured()) config.forever();\n\n let cachedValue: CacheEntry | void = cache.get(arg);\n\n config.deactivate();\n\n switch (config.mode()) {\n case \"forever\":\n cachedValue = [{ value, valid: genTrue }];\n cache.set(arg, cachedValue);\n break;\n case \"invalidate\":\n cachedValue = [{ value, valid: config.validator() }];\n cache.set(arg, cachedValue);\n break;\n case \"valid\":\n if (cachedValue) {\n cachedValue.push({ value, valid: config.validator() });\n } else {\n cachedValue = [{ value, valid: config.validator() }];\n cache.set(arg, cachedValue);\n }\n }\n}\n\nclass CacheConfigurator {\n _active: boolean = true;\n _never: boolean = false;\n _forever: boolean = false;\n _invalidate: boolean = false;\n\n _configured: boolean = false;\n\n _pairs: Array<\n [cachedValue: unknown, handler: (data: SideChannel) => Handler]\n > = [];\n\n _data: SideChannel;\n\n constructor(data: SideChannel) {\n this._data = data;\n }\n\n simple() {\n return makeSimpleConfigurator(this);\n }\n\n mode() {\n if (this._never) return \"never\";\n if (this._forever) return \"forever\";\n if (this._invalidate) return \"invalidate\";\n return \"valid\";\n }\n\n forever() {\n if (!this._active) {\n throw new Error(\"Cannot change caching after evaluation has completed.\");\n }\n if (this._never) {\n throw new Error(\"Caching has already been configured with .never()\");\n }\n this._forever = true;\n this._configured = true;\n }\n\n never() {\n if (!this._active) {\n throw new Error(\"Cannot change caching after evaluation has completed.\");\n }\n if (this._forever) {\n throw new Error(\"Caching has already been configured with .forever()\");\n }\n this._never = true;\n this._configured = true;\n }\n\n using(handler: (data: SideChannel) => T): T {\n if (!this._active) {\n throw new Error(\"Cannot change caching after evaluation has completed.\");\n }\n if (this._never || this._forever) {\n throw new Error(\n \"Caching has already been configured with .never or .forever()\",\n );\n }\n this._configured = true;\n\n const key = handler(this._data);\n\n const fn = maybeAsync(\n handler,\n `You appear to be using an async cache handler, but Babel has been called synchronously`,\n );\n\n if (isThenable(key)) {\n // @ts-expect-error todo(flow->ts): improve function return type annotation\n return key.then((key: unknown) => {\n this._pairs.push([key, fn]);\n return key;\n });\n }\n\n this._pairs.push([key, fn]);\n return key;\n }\n\n invalidate(handler: (data: SideChannel) => T): T {\n this._invalidate = true;\n return this.using(handler);\n }\n\n validator(): (data: SideChannel) => Handler {\n const pairs = this._pairs;\n return function* (data: SideChannel) {\n for (const [key, fn] of pairs) {\n if (key !== (yield* fn(data))) return false;\n }\n return true;\n };\n }\n\n deactivate() {\n this._active = false;\n }\n\n configured() {\n return this._configured;\n }\n}\n\nfunction makeSimpleConfigurator(\n cache: CacheConfigurator,\n): SimpleCacheConfigurator {\n function cacheFn(val: any) {\n if (typeof val === \"boolean\") {\n if (val) cache.forever();\n else cache.never();\n return;\n }\n\n return cache.using(() => assertSimpleType(val()));\n }\n cacheFn.forever = () => cache.forever();\n cacheFn.never = () => cache.never();\n cacheFn.using = (cb: { (): SimpleType }) =>\n cache.using(() => assertSimpleType(cb()));\n cacheFn.invalidate = (cb: { (): SimpleType }) =>\n cache.invalidate(() => assertSimpleType(cb()));\n\n return cacheFn as any;\n}\n\n// Types are limited here so that in the future these values can be used\n// as part of Babel's caching logic.\nexport type SimpleType =\n | string\n | boolean\n | number\n | null\n | void\n | Promise;\nexport function assertSimpleType(value: unknown): SimpleType {\n if (isThenable(value)) {\n throw new Error(\n `You appear to be using an async cache handler, ` +\n `which your current version of Babel does not support. ` +\n `We may add support for this in the future, ` +\n `but if you're on the most recent version of @babel/core and still ` +\n `seeing this error, then you'll need to synchronously handle your caching logic.`,\n );\n }\n\n if (\n value != null &&\n typeof value !== \"string\" &&\n typeof value !== \"boolean\" &&\n typeof value !== \"number\"\n ) {\n throw new Error(\n \"Cache keys must be either string, boolean, number, null, or undefined.\",\n );\n }\n // @ts-expect-error Type 'unknown' is not assignable to type 'SimpleType'. This can be removed\n // when strictNullCheck is enabled\n return value;\n}\n\nclass Lock {\n released: boolean = false;\n promise: Promise;\n _resolve: (value: T) => void;\n\n constructor() {\n this.promise = new Promise(resolve => {\n this._resolve = resolve;\n });\n }\n\n release(value: T) {\n this.released = true;\n this._resolve(value);\n }\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_gensync","data","require","_async","_util","synchronize","gen","gensync","sync","genTrue","makeWeakCache","handler","makeCachedFunction","WeakMap","makeWeakCacheSync","makeStrongCache","Map","makeStrongCacheSync","CallCache","callCacheSync","callCacheAsync","futureCache","cachedFunction","arg","asyncContext","isAsync","callCache","cached","getCachedValueOrWait","valid","value","cache","CacheConfigurator","handlerResult","finishLock","isIterableIterator","onFirstPause","setupAsyncLocks","updateFunctionCache","delete","release","getCachedValue","cachedValue","get","waitFor","promise","config","Lock","configured","forever","deactivate","mode","set","validator","push","constructor","_active","_never","_forever","_invalidate","_configured","_pairs","_data","simple","makeSimpleConfigurator","Error","never","using","key","fn","maybeAsync","isThenable","then","invalidate","pairs","cacheFn","val","assertSimpleType","cb","released","_resolve","Promise","resolve"],"sources":["../../src/config/caching.ts"],"sourcesContent":["import gensync from \"gensync\";\nimport type { Handler } from \"gensync\";\nimport {\n maybeAsync,\n isAsync,\n onFirstPause,\n waitFor,\n isThenable,\n} from \"../gensync-utils/async\";\nimport { isIterableIterator } from \"./util\";\n\nexport type { CacheConfigurator };\n\nexport type SimpleCacheConfigurator = {\n (forever: boolean): void;\n (handler: () => T): T;\n\n forever: () => void;\n never: () => void;\n using: (handler: () => T) => T;\n invalidate: (handler: () => T) => T;\n};\n\nexport type CacheEntry = Array<{\n value: ResultT;\n valid: (channel: SideChannel) => Handler;\n}>;\n\nconst synchronize = (\n gen: (...args: ArgsT) => Handler,\n): ((...args: ArgsT) => ResultT) => {\n return gensync(gen).sync;\n};\n\n// eslint-disable-next-line require-yield\nfunction* genTrue() {\n return true;\n}\n\nexport function makeWeakCache(\n handler: (\n arg: ArgT,\n cache: CacheConfigurator,\n ) => Handler | ResultT,\n): (arg: ArgT, data: SideChannel) => Handler {\n return makeCachedFunction(WeakMap, handler);\n}\n\nexport function makeWeakCacheSync(\n handler: (arg: ArgT, cache?: CacheConfigurator) => ResultT,\n): (arg: ArgT, data?: SideChannel) => ResultT {\n return synchronize<[ArgT, SideChannel], ResultT>(\n makeWeakCache(handler),\n );\n}\n\nexport function makeStrongCache(\n handler: (\n arg: ArgT,\n cache: CacheConfigurator,\n ) => Handler | ResultT,\n): (arg: ArgT, data: SideChannel) => Handler {\n return makeCachedFunction(Map, handler);\n}\n\nexport function makeStrongCacheSync(\n handler: (arg: ArgT, cache?: CacheConfigurator) => ResultT,\n): (arg: ArgT, data?: SideChannel) => ResultT {\n return synchronize<[ArgT, SideChannel], ResultT>(\n makeStrongCache(handler),\n );\n}\n\n/* NOTE: Part of the logic explained in this comment is explained in the\n * getCachedValueOrWait and setupAsyncLocks functions.\n *\n * > There are only two hard things in Computer Science: cache invalidation and naming things.\n * > -- Phil Karlton\n *\n * I don't know if Phil was also thinking about handling a cache whose invalidation function is\n * defined asynchronously is considered, but it is REALLY hard to do correctly.\n *\n * The implemented logic (only when gensync is run asynchronously) is the following:\n * 1. If there is a valid cache associated to the current \"arg\" parameter,\n * a. RETURN the cached value\n * 3. If there is a FinishLock associated to the current \"arg\" parameter representing a valid cache,\n * a. Wait for that lock to be released\n * b. RETURN the value associated with that lock\n * 5. Start executing the function to be cached\n * a. If it pauses on a promise, then\n * i. Let FinishLock be a new lock\n * ii. Store FinishLock as associated to the current \"arg\" parameter\n * iii. Wait for the function to finish executing\n * iv. Release FinishLock\n * v. Send the function result to anyone waiting on FinishLock\n * 6. Store the result in the cache\n * 7. RETURN the result\n */\nfunction makeCachedFunction(\n CallCache: new () => CacheMap,\n handler: (\n arg: ArgT,\n cache: CacheConfigurator,\n ) => Handler | ResultT,\n): (arg: ArgT, data: SideChannel) => Handler {\n const callCacheSync = new CallCache();\n const callCacheAsync = new CallCache();\n const futureCache = new CallCache>();\n\n return function* cachedFunction(arg: ArgT, data: SideChannel) {\n const asyncContext = yield* isAsync();\n const callCache = asyncContext ? callCacheAsync : callCacheSync;\n\n const cached = yield* getCachedValueOrWait(\n asyncContext,\n callCache,\n futureCache,\n arg,\n data,\n );\n if (cached.valid) return cached.value;\n\n const cache = new CacheConfigurator(data);\n\n const handlerResult: Handler | ResultT = handler(arg, cache);\n\n let finishLock: Lock;\n let value: ResultT;\n\n if (isIterableIterator(handlerResult)) {\n value = yield* onFirstPause(handlerResult, () => {\n finishLock = setupAsyncLocks(cache, futureCache, arg);\n });\n } else {\n value = handlerResult;\n }\n\n updateFunctionCache(callCache, cache, arg, value);\n\n if (finishLock) {\n futureCache.delete(arg);\n finishLock.release(value);\n }\n\n return value;\n };\n}\n\ntype CacheMap =\n | Map>\n // @ts-expect-error todo(flow->ts): add `extends object` constraint to ArgT\n | WeakMap>;\n\nfunction* getCachedValue(\n cache: CacheMap,\n arg: ArgT,\n data: SideChannel,\n): Handler<{ valid: true; value: ResultT } | { valid: false; value: null }> {\n const cachedValue: CacheEntry | void = cache.get(arg);\n\n if (cachedValue) {\n for (const { value, valid } of cachedValue) {\n if (yield* valid(data)) return { valid: true, value };\n }\n }\n\n return { valid: false, value: null };\n}\n\nfunction* getCachedValueOrWait(\n asyncContext: boolean,\n callCache: CacheMap,\n futureCache: CacheMap, SideChannel>,\n arg: ArgT,\n data: SideChannel,\n): Handler<{ valid: true; value: ResultT } | { valid: false; value: null }> {\n const cached = yield* getCachedValue(callCache, arg, data);\n if (cached.valid) {\n return cached;\n }\n\n if (asyncContext) {\n const cached = yield* getCachedValue(futureCache, arg, data);\n if (cached.valid) {\n const value = yield* waitFor(cached.value.promise);\n return { valid: true, value };\n }\n }\n\n return { valid: false, value: null };\n}\n\nfunction setupAsyncLocks(\n config: CacheConfigurator,\n futureCache: CacheMap, SideChannel>,\n arg: ArgT,\n): Lock {\n const finishLock = new Lock();\n\n updateFunctionCache(futureCache, config, arg, finishLock);\n\n return finishLock;\n}\n\nfunction updateFunctionCache<\n ArgT,\n ResultT,\n SideChannel,\n Cache extends CacheMap,\n>(\n cache: Cache,\n config: CacheConfigurator,\n arg: ArgT,\n value: ResultT,\n) {\n if (!config.configured()) config.forever();\n\n let cachedValue: CacheEntry | void = cache.get(arg);\n\n config.deactivate();\n\n switch (config.mode()) {\n case \"forever\":\n cachedValue = [{ value, valid: genTrue }];\n cache.set(arg, cachedValue);\n break;\n case \"invalidate\":\n cachedValue = [{ value, valid: config.validator() }];\n cache.set(arg, cachedValue);\n break;\n case \"valid\":\n if (cachedValue) {\n cachedValue.push({ value, valid: config.validator() });\n } else {\n cachedValue = [{ value, valid: config.validator() }];\n cache.set(arg, cachedValue);\n }\n }\n}\n\nclass CacheConfigurator {\n _active: boolean = true;\n _never: boolean = false;\n _forever: boolean = false;\n _invalidate: boolean = false;\n\n _configured: boolean = false;\n\n _pairs: Array<\n [cachedValue: unknown, handler: (data: SideChannel) => Handler]\n > = [];\n\n _data: SideChannel;\n\n constructor(data: SideChannel) {\n this._data = data;\n }\n\n simple() {\n return makeSimpleConfigurator(this);\n }\n\n mode() {\n if (this._never) return \"never\";\n if (this._forever) return \"forever\";\n if (this._invalidate) return \"invalidate\";\n return \"valid\";\n }\n\n forever() {\n if (!this._active) {\n throw new Error(\"Cannot change caching after evaluation has completed.\");\n }\n if (this._never) {\n throw new Error(\"Caching has already been configured with .never()\");\n }\n this._forever = true;\n this._configured = true;\n }\n\n never() {\n if (!this._active) {\n throw new Error(\"Cannot change caching after evaluation has completed.\");\n }\n if (this._forever) {\n throw new Error(\"Caching has already been configured with .forever()\");\n }\n this._never = true;\n this._configured = true;\n }\n\n using(handler: (data: SideChannel) => T): T {\n if (!this._active) {\n throw new Error(\"Cannot change caching after evaluation has completed.\");\n }\n if (this._never || this._forever) {\n throw new Error(\n \"Caching has already been configured with .never or .forever()\",\n );\n }\n this._configured = true;\n\n const key = handler(this._data);\n\n const fn = maybeAsync(\n handler,\n `You appear to be using an async cache handler, but Babel has been called synchronously`,\n );\n\n if (isThenable(key)) {\n // @ts-expect-error todo(flow->ts): improve function return type annotation\n return key.then((key: unknown) => {\n this._pairs.push([key, fn]);\n return key;\n });\n }\n\n this._pairs.push([key, fn]);\n return key;\n }\n\n invalidate(handler: (data: SideChannel) => T): T {\n this._invalidate = true;\n return this.using(handler);\n }\n\n validator(): (data: SideChannel) => Handler {\n const pairs = this._pairs;\n return function* (data: SideChannel) {\n for (const [key, fn] of pairs) {\n if (key !== (yield* fn(data))) return false;\n }\n return true;\n };\n }\n\n deactivate() {\n this._active = false;\n }\n\n configured() {\n return this._configured;\n }\n}\n\nfunction makeSimpleConfigurator(\n cache: CacheConfigurator,\n): SimpleCacheConfigurator {\n function cacheFn(val: any) {\n if (typeof val === \"boolean\") {\n if (val) cache.forever();\n else cache.never();\n return;\n }\n\n return cache.using(() => assertSimpleType(val()));\n }\n cacheFn.forever = () => cache.forever();\n cacheFn.never = () => cache.never();\n cacheFn.using = (cb: { (): SimpleType }) =>\n cache.using(() => assertSimpleType(cb()));\n cacheFn.invalidate = (cb: { (): SimpleType }) =>\n cache.invalidate(() => assertSimpleType(cb()));\n\n return cacheFn as any;\n}\n\n// Types are limited here so that in the future these values can be used\n// as part of Babel's caching logic.\nexport type SimpleType =\n | string\n | boolean\n | number\n | null\n | void\n | Promise;\nexport function assertSimpleType(value: unknown): SimpleType {\n if (isThenable(value)) {\n throw new Error(\n `You appear to be using an async cache handler, ` +\n `which your current version of Babel does not support. ` +\n `We may add support for this in the future, ` +\n `but if you're on the most recent version of @babel/core and still ` +\n `seeing this error, then you'll need to synchronously handle your caching logic.`,\n );\n }\n\n if (\n value != null &&\n typeof value !== \"string\" &&\n typeof value !== \"boolean\" &&\n typeof value !== \"number\"\n ) {\n throw new Error(\n \"Cache keys must be either string, boolean, number, null, or undefined.\",\n );\n }\n // @ts-expect-error Type 'unknown' is not assignable to type 'SimpleType'. This can be removed\n // when strictNullCheck is enabled\n return value;\n}\n\nclass Lock {\n released: boolean = false;\n promise: Promise;\n _resolve: (value: T) => void;\n\n constructor() {\n this.promise = new Promise(resolve => {\n this._resolve = resolve;\n });\n }\n\n release(value: T) {\n this.released = true;\n this._resolve(value);\n }\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/config-chain.js.map b/node_modules/@babel/core/lib/config/config-chain.js.map index 352dfdd7e..9202864f8 100644 --- a/node_modules/@babel/core/lib/config/config-chain.js.map +++ b/node_modules/@babel/core/lib/config/config-chain.js.map @@ -1 +1 @@ -{"version":3,"names":["_path","data","require","_debug","_options","_patternToRegex","_printer","_rewriteStackTrace","_configError","_files","_caching","_configDescriptors","debug","buildDebug","buildPresetChain","arg","context","chain","buildPresetChainWalker","plugins","dedupDescriptors","presets","options","map","o","normalizeOptions","files","Set","makeChainWalker","root","preset","loadPresetDescriptors","env","envName","loadPresetEnvDescriptors","overrides","index","loadPresetOverridesDescriptors","overridesEnv","loadPresetOverridesEnvDescriptors","createLogger","exports","makeWeakCacheSync","buildRootDescriptors","alias","createUncachedDescriptors","makeStrongCacheSync","buildEnvDescriptors","buildOverrideDescriptors","buildOverrideEnvDescriptors","buildRootChain","opts","configReport","babelRcReport","programmaticLogger","ConfigPrinter","programmaticChain","loadProgrammaticChain","dirname","cwd","undefined","programmaticReport","output","configFile","loadConfig","caller","findRootConfig","babelrc","babelrcRoots","babelrcRootsDirectory","configFileChain","emptyChain","configFileLogger","validatedFile","validateConfigFile","result","loadFileChain","mergeChain","ignoreFile","babelrcFile","isIgnored","fileChain","filename","pkgData","findPackageData","babelrcLoadEnabled","ignore","config","findRelativeConfig","add","filepath","shouldIgnore","validateBabelrcFile","babelrcLogger","showConfig","console","log","filter","x","join","fileHandling","absoluteRoot","directories","indexOf","babelrcPatterns","Array","isArray","pat","path","resolve","length","some","pathPatternToRegex","directory","matchPattern","file","validate","validateExtendFile","input","createCachedDescriptors","baseLogger","buildProgrammaticLogger","loadFileChainWalker","loadFileDescriptors","loadFileEnvDescriptors","loadFileOverridesDescriptors","loadFileOverridesEnvDescriptors","buildFileLogger","configure","ChainFormatter","Config","descriptors","_","_context$caller","Programmatic","callerName","name","Error","override","chainWalker","flattenedConfigs","rootOpts","configIsApplicable","push","envOpts","forEach","overrideOps","overrideEnvOpts","only","logger","mergeExtendsChain","mergeChainOpts","extends","has","from","delete","target","source","Object","assign","passPerPreset","test","include","exclude","prototype","hasOwnProperty","call","sourceMaps","sourceMap","items","Map","item","value","fnKey","nameMap","get","set","desc","ownPass","reduce","acc","configName","configFieldIsApplicable","patterns","matchesPatterns","ignoreListReplacer","_key","RegExp","String","_context$filename","message","JSON","stringify","_context$filename2","pattern","pathToTest","endHiddenCallStack","ConfigError"],"sources":["../../src/config/config-chain.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\n\nimport path from \"path\";\nimport buildDebug from \"debug\";\nimport type { Handler } from \"gensync\";\nimport { validate } from \"./validation/options\";\nimport type {\n ValidatedOptions,\n IgnoreList,\n ConfigApplicableTest,\n BabelrcSearch,\n CallerMetadata,\n IgnoreItem,\n} from \"./validation/options\";\nimport pathPatternToRegex from \"./pattern-to-regex\";\nimport { ConfigPrinter, ChainFormatter } from \"./printer\";\nimport type { ReadonlyDeepArray } from \"./helpers/deep-array\";\n\nimport { endHiddenCallStack } from \"../errors/rewrite-stack-trace\";\nimport ConfigError from \"../errors/config-error\";\n\nconst debug = buildDebug(\"babel:config:config-chain\");\n\nimport {\n findPackageData,\n findRelativeConfig,\n findRootConfig,\n loadConfig,\n} from \"./files\";\nimport type { ConfigFile, IgnoreFile, FilePackageData } from \"./files\";\n\nimport { makeWeakCacheSync, makeStrongCacheSync } from \"./caching\";\n\nimport {\n createCachedDescriptors,\n createUncachedDescriptors,\n} from \"./config-descriptors\";\nimport type {\n UnloadedDescriptor,\n OptionsAndDescriptors,\n ValidatedFile,\n} from \"./config-descriptors\";\n\nexport type ConfigChain = {\n plugins: Array;\n presets: Array;\n options: Array;\n files: Set;\n};\n\nexport type PresetInstance = {\n options: ValidatedOptions;\n alias: string;\n dirname: string;\n externalDependencies: ReadonlyDeepArray;\n};\n\nexport type ConfigContext = {\n filename: string | undefined;\n cwd: string;\n root: string;\n envName: string;\n caller: CallerMetadata | undefined;\n showConfig: boolean;\n};\n\n/**\n * Build a config chain for a given preset.\n */\nexport function* buildPresetChain(\n arg: PresetInstance,\n context: any,\n): Handler {\n const chain = yield* buildPresetChainWalker(arg, context);\n if (!chain) return null;\n\n return {\n plugins: dedupDescriptors(chain.plugins),\n presets: dedupDescriptors(chain.presets),\n options: chain.options.map(o => normalizeOptions(o)),\n files: new Set(),\n };\n}\n\nexport const buildPresetChainWalker = makeChainWalker({\n root: preset => loadPresetDescriptors(preset),\n env: (preset, envName) => loadPresetEnvDescriptors(preset)(envName),\n overrides: (preset, index) => loadPresetOverridesDescriptors(preset)(index),\n overridesEnv: (preset, index, envName) =>\n loadPresetOverridesEnvDescriptors(preset)(index)(envName),\n createLogger: () => () => {}, // Currently we don't support logging how preset is expanded\n});\nconst loadPresetDescriptors = makeWeakCacheSync((preset: PresetInstance) =>\n buildRootDescriptors(preset, preset.alias, createUncachedDescriptors),\n);\nconst loadPresetEnvDescriptors = makeWeakCacheSync((preset: PresetInstance) =>\n makeStrongCacheSync((envName: string) =>\n buildEnvDescriptors(\n preset,\n preset.alias,\n createUncachedDescriptors,\n envName,\n ),\n ),\n);\nconst loadPresetOverridesDescriptors = makeWeakCacheSync(\n (preset: PresetInstance) =>\n makeStrongCacheSync((index: number) =>\n buildOverrideDescriptors(\n preset,\n preset.alias,\n createUncachedDescriptors,\n index,\n ),\n ),\n);\nconst loadPresetOverridesEnvDescriptors = makeWeakCacheSync(\n (preset: PresetInstance) =>\n makeStrongCacheSync((index: number) =>\n makeStrongCacheSync((envName: string) =>\n buildOverrideEnvDescriptors(\n preset,\n preset.alias,\n createUncachedDescriptors,\n index,\n envName,\n ),\n ),\n ),\n);\n\nexport type FileHandling = \"transpile\" | \"ignored\" | \"unsupported\";\nexport type RootConfigChain = ConfigChain & {\n babelrc: ConfigFile | void;\n config: ConfigFile | void;\n ignore: IgnoreFile | void;\n fileHandling: FileHandling;\n files: Set;\n};\n\n/**\n * Build a config chain for Babel's full root configuration.\n */\nexport function* buildRootChain(\n opts: ValidatedOptions,\n context: ConfigContext,\n): Handler {\n let configReport, babelRcReport;\n const programmaticLogger = new ConfigPrinter();\n const programmaticChain = yield* loadProgrammaticChain(\n {\n options: opts,\n dirname: context.cwd,\n },\n context,\n undefined,\n programmaticLogger,\n );\n if (!programmaticChain) return null;\n const programmaticReport = yield* programmaticLogger.output();\n\n let configFile;\n if (typeof opts.configFile === \"string\") {\n configFile = yield* loadConfig(\n opts.configFile,\n context.cwd,\n context.envName,\n context.caller,\n );\n } else if (opts.configFile !== false) {\n configFile = yield* findRootConfig(\n context.root,\n context.envName,\n context.caller,\n );\n }\n\n let { babelrc, babelrcRoots } = opts;\n let babelrcRootsDirectory = context.cwd;\n\n const configFileChain = emptyChain();\n const configFileLogger = new ConfigPrinter();\n if (configFile) {\n const validatedFile = validateConfigFile(configFile);\n const result = yield* loadFileChain(\n validatedFile,\n context,\n undefined,\n configFileLogger,\n );\n if (!result) return null;\n configReport = yield* configFileLogger.output();\n\n // Allow config files to toggle `.babelrc` resolution on and off and\n // specify where the roots are.\n if (babelrc === undefined) {\n babelrc = validatedFile.options.babelrc;\n }\n if (babelrcRoots === undefined) {\n babelrcRootsDirectory = validatedFile.dirname;\n babelrcRoots = validatedFile.options.babelrcRoots;\n }\n\n mergeChain(configFileChain, result);\n }\n\n let ignoreFile, babelrcFile;\n let isIgnored = false;\n const fileChain = emptyChain();\n // resolve all .babelrc files\n if (\n (babelrc === true || babelrc === undefined) &&\n typeof context.filename === \"string\"\n ) {\n const pkgData = yield* findPackageData(context.filename);\n\n if (\n pkgData &&\n babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory)\n ) {\n ({ ignore: ignoreFile, config: babelrcFile } = yield* findRelativeConfig(\n pkgData,\n context.envName,\n context.caller,\n ));\n\n if (ignoreFile) {\n fileChain.files.add(ignoreFile.filepath);\n }\n\n if (\n ignoreFile &&\n shouldIgnore(context, ignoreFile.ignore, null, ignoreFile.dirname)\n ) {\n isIgnored = true;\n }\n\n if (babelrcFile && !isIgnored) {\n const validatedFile = validateBabelrcFile(babelrcFile);\n const babelrcLogger = new ConfigPrinter();\n const result = yield* loadFileChain(\n validatedFile,\n context,\n undefined,\n babelrcLogger,\n );\n if (!result) {\n isIgnored = true;\n } else {\n babelRcReport = yield* babelrcLogger.output();\n mergeChain(fileChain, result);\n }\n }\n\n if (babelrcFile && isIgnored) {\n fileChain.files.add(babelrcFile.filepath);\n }\n }\n }\n\n if (context.showConfig) {\n console.log(\n `Babel configs on \"${context.filename}\" (ascending priority):\\n` +\n // print config by the order of ascending priority\n [configReport, babelRcReport, programmaticReport]\n .filter(x => !!x)\n .join(\"\\n\\n\") +\n \"\\n-----End Babel configs-----\",\n );\n }\n // Insert file chain in front so programmatic options have priority\n // over configuration file chain items.\n const chain = mergeChain(\n mergeChain(mergeChain(emptyChain(), configFileChain), fileChain),\n programmaticChain,\n );\n\n return {\n plugins: isIgnored ? [] : dedupDescriptors(chain.plugins),\n presets: isIgnored ? [] : dedupDescriptors(chain.presets),\n options: isIgnored ? [] : chain.options.map(o => normalizeOptions(o)),\n fileHandling: isIgnored ? \"ignored\" : \"transpile\",\n ignore: ignoreFile || undefined,\n babelrc: babelrcFile || undefined,\n config: configFile || undefined,\n files: chain.files,\n };\n}\n\nfunction babelrcLoadEnabled(\n context: ConfigContext,\n pkgData: FilePackageData,\n babelrcRoots: BabelrcSearch | undefined,\n babelrcRootsDirectory: string,\n): boolean {\n if (typeof babelrcRoots === \"boolean\") return babelrcRoots;\n\n const absoluteRoot = context.root;\n\n // Fast path to avoid having to match patterns if the babelrc is just\n // loading in the standard root directory.\n if (babelrcRoots === undefined) {\n return pkgData.directories.indexOf(absoluteRoot) !== -1;\n }\n\n let babelrcPatterns = babelrcRoots;\n if (!Array.isArray(babelrcPatterns)) {\n babelrcPatterns = [babelrcPatterns as IgnoreItem];\n }\n babelrcPatterns = babelrcPatterns.map(pat => {\n return typeof pat === \"string\"\n ? path.resolve(babelrcRootsDirectory, pat)\n : pat;\n });\n\n // Fast path to avoid having to match patterns if the babelrc is just\n // loading in the standard root directory.\n if (babelrcPatterns.length === 1 && babelrcPatterns[0] === absoluteRoot) {\n return pkgData.directories.indexOf(absoluteRoot) !== -1;\n }\n\n return babelrcPatterns.some(pat => {\n if (typeof pat === \"string\") {\n pat = pathPatternToRegex(pat, babelrcRootsDirectory);\n }\n\n return pkgData.directories.some(directory => {\n return matchPattern(pat, babelrcRootsDirectory, directory, context);\n });\n });\n}\n\nconst validateConfigFile = makeWeakCacheSync(\n (file: ConfigFile): ValidatedFile => ({\n filepath: file.filepath,\n dirname: file.dirname,\n options: validate(\"configfile\", file.options, file.filepath),\n }),\n);\n\nconst validateBabelrcFile = makeWeakCacheSync(\n (file: ConfigFile): ValidatedFile => ({\n filepath: file.filepath,\n dirname: file.dirname,\n options: validate(\"babelrcfile\", file.options, file.filepath),\n }),\n);\n\nconst validateExtendFile = makeWeakCacheSync(\n (file: ConfigFile): ValidatedFile => ({\n filepath: file.filepath,\n dirname: file.dirname,\n options: validate(\"extendsfile\", file.options, file.filepath),\n }),\n);\n\n/**\n * Build a config chain for just the programmatic options passed into Babel.\n */\nconst loadProgrammaticChain = makeChainWalker({\n root: input => buildRootDescriptors(input, \"base\", createCachedDescriptors),\n env: (input, envName) =>\n buildEnvDescriptors(input, \"base\", createCachedDescriptors, envName),\n overrides: (input, index) =>\n buildOverrideDescriptors(input, \"base\", createCachedDescriptors, index),\n overridesEnv: (input, index, envName) =>\n buildOverrideEnvDescriptors(\n input,\n \"base\",\n createCachedDescriptors,\n index,\n envName,\n ),\n createLogger: (input, context, baseLogger) =>\n buildProgrammaticLogger(input, context, baseLogger),\n});\n\n/**\n * Build a config chain for a given file.\n */\nconst loadFileChainWalker = makeChainWalker({\n root: file => loadFileDescriptors(file),\n env: (file, envName) => loadFileEnvDescriptors(file)(envName),\n overrides: (file, index) => loadFileOverridesDescriptors(file)(index),\n overridesEnv: (file, index, envName) =>\n loadFileOverridesEnvDescriptors(file)(index)(envName),\n createLogger: (file, context, baseLogger) =>\n buildFileLogger(file.filepath, context, baseLogger),\n});\n\nfunction* loadFileChain(\n input: ValidatedFile,\n context: ConfigContext,\n files: Set,\n baseLogger: ConfigPrinter,\n) {\n const chain = yield* loadFileChainWalker(input, context, files, baseLogger);\n if (chain) {\n chain.files.add(input.filepath);\n }\n\n return chain;\n}\n\nconst loadFileDescriptors = makeWeakCacheSync((file: ValidatedFile) =>\n buildRootDescriptors(file, file.filepath, createUncachedDescriptors),\n);\nconst loadFileEnvDescriptors = makeWeakCacheSync((file: ValidatedFile) =>\n makeStrongCacheSync((envName: string) =>\n buildEnvDescriptors(\n file,\n file.filepath,\n createUncachedDescriptors,\n envName,\n ),\n ),\n);\nconst loadFileOverridesDescriptors = makeWeakCacheSync((file: ValidatedFile) =>\n makeStrongCacheSync((index: number) =>\n buildOverrideDescriptors(\n file,\n file.filepath,\n createUncachedDescriptors,\n index,\n ),\n ),\n);\nconst loadFileOverridesEnvDescriptors = makeWeakCacheSync(\n (file: ValidatedFile) =>\n makeStrongCacheSync((index: number) =>\n makeStrongCacheSync((envName: string) =>\n buildOverrideEnvDescriptors(\n file,\n file.filepath,\n createUncachedDescriptors,\n index,\n envName,\n ),\n ),\n ),\n);\n\nfunction buildFileLogger(\n filepath: string,\n context: ConfigContext,\n baseLogger: ConfigPrinter | void,\n) {\n if (!baseLogger) {\n return () => {};\n }\n return baseLogger.configure(context.showConfig, ChainFormatter.Config, {\n filepath,\n });\n}\n\nfunction buildRootDescriptors(\n { dirname, options }: Partial,\n alias: string,\n descriptors: (\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n ) => OptionsAndDescriptors,\n) {\n return descriptors(dirname, options, alias);\n}\n\nfunction buildProgrammaticLogger(\n _: unknown,\n context: ConfigContext,\n baseLogger: ConfigPrinter | void,\n) {\n if (!baseLogger) {\n return () => {};\n }\n return baseLogger.configure(context.showConfig, ChainFormatter.Programmatic, {\n callerName: context.caller?.name,\n });\n}\n\nfunction buildEnvDescriptors(\n { dirname, options }: Partial,\n alias: string,\n descriptors: (\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n ) => OptionsAndDescriptors,\n envName: string,\n) {\n const opts = options.env && options.env[envName];\n return opts ? descriptors(dirname, opts, `${alias}.env[\"${envName}\"]`) : null;\n}\n\nfunction buildOverrideDescriptors(\n { dirname, options }: Partial,\n alias: string,\n descriptors: (\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n ) => OptionsAndDescriptors,\n index: number,\n) {\n const opts = options.overrides && options.overrides[index];\n if (!opts) throw new Error(\"Assertion failure - missing override\");\n\n return descriptors(dirname, opts, `${alias}.overrides[${index}]`);\n}\n\nfunction buildOverrideEnvDescriptors(\n { dirname, options }: Partial,\n alias: string,\n descriptors: (\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n ) => OptionsAndDescriptors,\n index: number,\n envName: string,\n) {\n const override = options.overrides && options.overrides[index];\n if (!override) throw new Error(\"Assertion failure - missing override\");\n\n const opts = override.env && override.env[envName];\n return opts\n ? descriptors(\n dirname,\n opts,\n `${alias}.overrides[${index}].env[\"${envName}\"]`,\n )\n : null;\n}\n\nfunction makeChainWalker<\n ArgT extends {\n options: ValidatedOptions;\n dirname: string;\n filepath?: string;\n },\n>({\n root,\n env,\n overrides,\n overridesEnv,\n createLogger,\n}: {\n root: (configEntry: ArgT) => OptionsAndDescriptors;\n env: (configEntry: ArgT, env: string) => OptionsAndDescriptors | null;\n overrides: (configEntry: ArgT, index: number) => OptionsAndDescriptors;\n overridesEnv: (\n configEntry: ArgT,\n index: number,\n env: string,\n ) => OptionsAndDescriptors | null;\n createLogger: (\n configEntry: ArgT,\n context: ConfigContext,\n printer: ConfigPrinter | void,\n ) => (\n opts: OptionsAndDescriptors,\n index?: number | null,\n env?: string | null,\n ) => void;\n}): (\n configEntry: ArgT,\n context: ConfigContext,\n files?: Set,\n baseLogger?: ConfigPrinter,\n) => Handler {\n return function* chainWalker(input, context, files = new Set(), baseLogger) {\n const { dirname } = input;\n\n const flattenedConfigs: Array<{\n config: OptionsAndDescriptors;\n index: number | undefined | null;\n envName: string | undefined | null;\n }> = [];\n\n const rootOpts = root(input);\n if (configIsApplicable(rootOpts, dirname, context, input.filepath)) {\n flattenedConfigs.push({\n config: rootOpts,\n envName: undefined,\n index: undefined,\n });\n\n const envOpts = env(input, context.envName);\n if (\n envOpts &&\n configIsApplicable(envOpts, dirname, context, input.filepath)\n ) {\n flattenedConfigs.push({\n config: envOpts,\n envName: context.envName,\n index: undefined,\n });\n }\n\n (rootOpts.options.overrides || []).forEach((_, index) => {\n const overrideOps = overrides(input, index);\n if (configIsApplicable(overrideOps, dirname, context, input.filepath)) {\n flattenedConfigs.push({\n config: overrideOps,\n index,\n envName: undefined,\n });\n\n const overrideEnvOpts = overridesEnv(input, index, context.envName);\n if (\n overrideEnvOpts &&\n configIsApplicable(\n overrideEnvOpts,\n dirname,\n context,\n input.filepath,\n )\n ) {\n flattenedConfigs.push({\n config: overrideEnvOpts,\n index,\n envName: context.envName,\n });\n }\n }\n });\n }\n\n // Process 'ignore' and 'only' before 'extends' items are processed so\n // that we don't do extra work loading extended configs if a file is\n // ignored.\n if (\n flattenedConfigs.some(\n ({\n config: {\n options: { ignore, only },\n },\n }) => shouldIgnore(context, ignore, only, dirname),\n )\n ) {\n return null;\n }\n\n const chain = emptyChain();\n const logger = createLogger(input, context, baseLogger);\n\n for (const { config, index, envName } of flattenedConfigs) {\n if (\n !(yield* mergeExtendsChain(\n chain,\n config.options,\n dirname,\n context,\n files,\n baseLogger,\n ))\n ) {\n return null;\n }\n\n logger(config, index, envName);\n yield* mergeChainOpts(chain, config);\n }\n return chain;\n };\n}\n\nfunction* mergeExtendsChain(\n chain: ConfigChain,\n opts: ValidatedOptions,\n dirname: string,\n context: ConfigContext,\n files: Set,\n baseLogger?: ConfigPrinter,\n): Handler {\n if (opts.extends === undefined) return true;\n\n const file = yield* loadConfig(\n opts.extends,\n dirname,\n context.envName,\n context.caller,\n );\n\n if (files.has(file)) {\n throw new Error(\n `Configuration cycle detected loading ${file.filepath}.\\n` +\n `File already loaded following the config chain:\\n` +\n Array.from(files, file => ` - ${file.filepath}`).join(\"\\n\"),\n );\n }\n\n files.add(file);\n const fileChain = yield* loadFileChain(\n validateExtendFile(file),\n context,\n files,\n baseLogger,\n );\n files.delete(file);\n\n if (!fileChain) return false;\n\n mergeChain(chain, fileChain);\n\n return true;\n}\n\nfunction mergeChain(target: ConfigChain, source: ConfigChain): ConfigChain {\n target.options.push(...source.options);\n target.plugins.push(...source.plugins);\n target.presets.push(...source.presets);\n for (const file of source.files) {\n target.files.add(file);\n }\n\n return target;\n}\n\nfunction* mergeChainOpts(\n target: ConfigChain,\n { options, plugins, presets }: OptionsAndDescriptors,\n): Handler {\n target.options.push(options);\n target.plugins.push(...(yield* plugins()));\n target.presets.push(...(yield* presets()));\n\n return target;\n}\n\nfunction emptyChain(): ConfigChain {\n return {\n options: [],\n presets: [],\n plugins: [],\n files: new Set(),\n };\n}\n\nfunction normalizeOptions(opts: ValidatedOptions): ValidatedOptions {\n const options = {\n ...opts,\n };\n delete options.extends;\n delete options.env;\n delete options.overrides;\n delete options.plugins;\n delete options.presets;\n delete options.passPerPreset;\n delete options.ignore;\n delete options.only;\n delete options.test;\n delete options.include;\n delete options.exclude;\n\n // \"sourceMap\" is just aliased to sourceMap, so copy it over as\n // we merge the options together.\n if (Object.prototype.hasOwnProperty.call(options, \"sourceMap\")) {\n options.sourceMaps = options.sourceMap;\n delete options.sourceMap;\n }\n return options;\n}\n\nfunction dedupDescriptors(\n items: Array,\n): Array {\n const map: Map<\n Function,\n Map\n > = new Map();\n\n const descriptors = [];\n\n for (const item of items) {\n if (typeof item.value === \"function\") {\n const fnKey = item.value;\n let nameMap = map.get(fnKey);\n if (!nameMap) {\n nameMap = new Map();\n map.set(fnKey, nameMap);\n }\n let desc = nameMap.get(item.name);\n if (!desc) {\n desc = { value: item };\n descriptors.push(desc);\n\n // Treat passPerPreset presets as unique, skipping them\n // in the merge processing steps.\n if (!item.ownPass) nameMap.set(item.name, desc);\n } else {\n desc.value = item;\n }\n } else {\n descriptors.push({ value: item });\n }\n }\n\n return descriptors.reduce((acc, desc) => {\n acc.push(desc.value);\n return acc;\n }, []);\n}\n\nfunction configIsApplicable(\n { options }: OptionsAndDescriptors,\n dirname: string,\n context: ConfigContext,\n configName: string,\n): boolean {\n return (\n (options.test === undefined ||\n configFieldIsApplicable(context, options.test, dirname, configName)) &&\n (options.include === undefined ||\n configFieldIsApplicable(context, options.include, dirname, configName)) &&\n (options.exclude === undefined ||\n !configFieldIsApplicable(context, options.exclude, dirname, configName))\n );\n}\n\nfunction configFieldIsApplicable(\n context: ConfigContext,\n test: ConfigApplicableTest,\n dirname: string,\n configName: string,\n): boolean {\n const patterns = Array.isArray(test) ? test : [test];\n\n return matchesPatterns(context, patterns, dirname, configName);\n}\n\n/**\n * Print the ignoreList-values in a more helpful way than the default.\n */\nfunction ignoreListReplacer(\n _key: string,\n value: IgnoreList | IgnoreItem,\n): IgnoreList | IgnoreItem | string {\n if (value instanceof RegExp) {\n return String(value);\n }\n\n return value;\n}\n\n/**\n * Tests if a filename should be ignored based on \"ignore\" and \"only\" options.\n */\nfunction shouldIgnore(\n context: ConfigContext,\n ignore: IgnoreList | undefined | null,\n only: IgnoreList | undefined | null,\n dirname: string,\n): boolean {\n if (ignore && matchesPatterns(context, ignore, dirname)) {\n const message = `No config is applied to \"${\n context.filename ?? \"(unknown)\"\n }\" because it matches one of \\`ignore: ${JSON.stringify(\n ignore,\n ignoreListReplacer,\n )}\\` from \"${dirname}\"`;\n debug(message);\n if (context.showConfig) {\n console.log(message);\n }\n return true;\n }\n\n if (only && !matchesPatterns(context, only, dirname)) {\n const message = `No config is applied to \"${\n context.filename ?? \"(unknown)\"\n }\" because it fails to match one of \\`only: ${JSON.stringify(\n only,\n ignoreListReplacer,\n )}\\` from \"${dirname}\"`;\n debug(message);\n if (context.showConfig) {\n console.log(message);\n }\n return true;\n }\n\n return false;\n}\n\n/**\n * Returns result of calling function with filename if pattern is a function.\n * Otherwise returns result of matching pattern Regex with filename.\n */\nfunction matchesPatterns(\n context: ConfigContext,\n patterns: IgnoreList,\n dirname: string,\n configName?: string,\n): boolean {\n return patterns.some(pattern =>\n matchPattern(pattern, dirname, context.filename, context, configName),\n );\n}\n\nfunction matchPattern(\n pattern: IgnoreItem,\n dirname: string,\n pathToTest: string | undefined,\n context: ConfigContext,\n configName?: string,\n): boolean {\n if (typeof pattern === \"function\") {\n return !!endHiddenCallStack(pattern)(pathToTest, {\n dirname,\n envName: context.envName,\n caller: context.caller,\n });\n }\n\n if (typeof pathToTest !== \"string\") {\n throw new ConfigError(\n `Configuration contains string/RegExp pattern, but no filename was passed to Babel`,\n configName,\n );\n }\n\n if (typeof pattern === \"string\") {\n pattern = pathPatternToRegex(pattern, dirname);\n }\n return pattern.test(pathToTest);\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_path","data","require","_debug","_options","_patternToRegex","_printer","_rewriteStackTrace","_configError","_files","_caching","_configDescriptors","debug","buildDebug","buildPresetChain","arg","context","chain","buildPresetChainWalker","plugins","dedupDescriptors","presets","options","map","o","normalizeOptions","files","Set","makeChainWalker","root","preset","loadPresetDescriptors","env","envName","loadPresetEnvDescriptors","overrides","index","loadPresetOverridesDescriptors","overridesEnv","loadPresetOverridesEnvDescriptors","createLogger","exports","makeWeakCacheSync","buildRootDescriptors","alias","createUncachedDescriptors","makeStrongCacheSync","buildEnvDescriptors","buildOverrideDescriptors","buildOverrideEnvDescriptors","buildRootChain","opts","configReport","babelRcReport","programmaticLogger","ConfigPrinter","programmaticChain","loadProgrammaticChain","dirname","cwd","undefined","programmaticReport","output","configFile","loadConfig","caller","findRootConfig","babelrc","babelrcRoots","babelrcRootsDirectory","configFileChain","emptyChain","configFileLogger","validatedFile","validateConfigFile","result","loadFileChain","mergeChain","ignoreFile","babelrcFile","isIgnored","fileChain","filename","pkgData","findPackageData","babelrcLoadEnabled","ignore","config","findRelativeConfig","add","filepath","shouldIgnore","validateBabelrcFile","babelrcLogger","showConfig","console","log","filter","x","join","fileHandling","absoluteRoot","directories","indexOf","babelrcPatterns","Array","isArray","pat","path","resolve","length","some","pathPatternToRegex","directory","matchPattern","file","validate","validateExtendFile","input","createCachedDescriptors","baseLogger","buildProgrammaticLogger","loadFileChainWalker","loadFileDescriptors","loadFileEnvDescriptors","loadFileOverridesDescriptors","loadFileOverridesEnvDescriptors","buildFileLogger","configure","ChainFormatter","Config","descriptors","_","_context$caller","Programmatic","callerName","name","Error","override","chainWalker","flattenedConfigs","rootOpts","configIsApplicable","push","envOpts","forEach","overrideOps","overrideEnvOpts","only","logger","mergeExtendsChain","mergeChainOpts","extends","has","from","delete","target","source","Object","assign","passPerPreset","test","include","exclude","prototype","hasOwnProperty","call","sourceMaps","sourceMap","items","Map","item","value","fnKey","nameMap","get","set","desc","ownPass","reduce","acc","configName","configFieldIsApplicable","patterns","matchesPatterns","ignoreListReplacer","_key","RegExp","String","_context$filename","message","JSON","stringify","_context$filename2","pattern","pathToTest","endHiddenCallStack","ConfigError"],"sources":["../../src/config/config-chain.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\n\nimport path from \"path\";\nimport buildDebug from \"debug\";\nimport type { Handler } from \"gensync\";\nimport { validate } from \"./validation/options\";\nimport type {\n ValidatedOptions,\n IgnoreList,\n ConfigApplicableTest,\n BabelrcSearch,\n CallerMetadata,\n IgnoreItem,\n} from \"./validation/options\";\nimport pathPatternToRegex from \"./pattern-to-regex\";\nimport { ConfigPrinter, ChainFormatter } from \"./printer\";\nimport type { ReadonlyDeepArray } from \"./helpers/deep-array\";\n\nimport { endHiddenCallStack } from \"../errors/rewrite-stack-trace\";\nimport ConfigError from \"../errors/config-error\";\n\nconst debug = buildDebug(\"babel:config:config-chain\");\n\nimport {\n findPackageData,\n findRelativeConfig,\n findRootConfig,\n loadConfig,\n} from \"./files\";\nimport type { ConfigFile, IgnoreFile, FilePackageData } from \"./files\";\n\nimport { makeWeakCacheSync, makeStrongCacheSync } from \"./caching\";\n\nimport {\n createCachedDescriptors,\n createUncachedDescriptors,\n} from \"./config-descriptors\";\nimport type {\n UnloadedDescriptor,\n OptionsAndDescriptors,\n ValidatedFile,\n} from \"./config-descriptors\";\n\nexport type ConfigChain = {\n plugins: Array;\n presets: Array;\n options: Array;\n files: Set;\n};\n\nexport type PresetInstance = {\n options: ValidatedOptions;\n alias: string;\n dirname: string;\n externalDependencies: ReadonlyDeepArray;\n};\n\nexport type ConfigContext = {\n filename: string | undefined;\n cwd: string;\n root: string;\n envName: string;\n caller: CallerMetadata | undefined;\n showConfig: boolean;\n};\n\n/**\n * Build a config chain for a given preset.\n */\nexport function* buildPresetChain(\n arg: PresetInstance,\n context: any,\n): Handler {\n const chain = yield* buildPresetChainWalker(arg, context);\n if (!chain) return null;\n\n return {\n plugins: dedupDescriptors(chain.plugins),\n presets: dedupDescriptors(chain.presets),\n options: chain.options.map(o => normalizeOptions(o)),\n files: new Set(),\n };\n}\n\nexport const buildPresetChainWalker = makeChainWalker({\n root: preset => loadPresetDescriptors(preset),\n env: (preset, envName) => loadPresetEnvDescriptors(preset)(envName),\n overrides: (preset, index) => loadPresetOverridesDescriptors(preset)(index),\n overridesEnv: (preset, index, envName) =>\n loadPresetOverridesEnvDescriptors(preset)(index)(envName),\n createLogger: () => () => {}, // Currently we don't support logging how preset is expanded\n});\nconst loadPresetDescriptors = makeWeakCacheSync((preset: PresetInstance) =>\n buildRootDescriptors(preset, preset.alias, createUncachedDescriptors),\n);\nconst loadPresetEnvDescriptors = makeWeakCacheSync((preset: PresetInstance) =>\n makeStrongCacheSync((envName: string) =>\n buildEnvDescriptors(\n preset,\n preset.alias,\n createUncachedDescriptors,\n envName,\n ),\n ),\n);\nconst loadPresetOverridesDescriptors = makeWeakCacheSync(\n (preset: PresetInstance) =>\n makeStrongCacheSync((index: number) =>\n buildOverrideDescriptors(\n preset,\n preset.alias,\n createUncachedDescriptors,\n index,\n ),\n ),\n);\nconst loadPresetOverridesEnvDescriptors = makeWeakCacheSync(\n (preset: PresetInstance) =>\n makeStrongCacheSync((index: number) =>\n makeStrongCacheSync((envName: string) =>\n buildOverrideEnvDescriptors(\n preset,\n preset.alias,\n createUncachedDescriptors,\n index,\n envName,\n ),\n ),\n ),\n);\n\nexport type FileHandling = \"transpile\" | \"ignored\" | \"unsupported\";\nexport type RootConfigChain = ConfigChain & {\n babelrc: ConfigFile | void;\n config: ConfigFile | void;\n ignore: IgnoreFile | void;\n fileHandling: FileHandling;\n files: Set;\n};\n\n/**\n * Build a config chain for Babel's full root configuration.\n */\nexport function* buildRootChain(\n opts: ValidatedOptions,\n context: ConfigContext,\n): Handler {\n let configReport, babelRcReport;\n const programmaticLogger = new ConfigPrinter();\n const programmaticChain = yield* loadProgrammaticChain(\n {\n options: opts,\n dirname: context.cwd,\n },\n context,\n undefined,\n programmaticLogger,\n );\n if (!programmaticChain) return null;\n const programmaticReport = yield* programmaticLogger.output();\n\n let configFile;\n if (typeof opts.configFile === \"string\") {\n configFile = yield* loadConfig(\n opts.configFile,\n context.cwd,\n context.envName,\n context.caller,\n );\n } else if (opts.configFile !== false) {\n configFile = yield* findRootConfig(\n context.root,\n context.envName,\n context.caller,\n );\n }\n\n let { babelrc, babelrcRoots } = opts;\n let babelrcRootsDirectory = context.cwd;\n\n const configFileChain = emptyChain();\n const configFileLogger = new ConfigPrinter();\n if (configFile) {\n const validatedFile = validateConfigFile(configFile);\n const result = yield* loadFileChain(\n validatedFile,\n context,\n undefined,\n configFileLogger,\n );\n if (!result) return null;\n configReport = yield* configFileLogger.output();\n\n // Allow config files to toggle `.babelrc` resolution on and off and\n // specify where the roots are.\n if (babelrc === undefined) {\n babelrc = validatedFile.options.babelrc;\n }\n if (babelrcRoots === undefined) {\n babelrcRootsDirectory = validatedFile.dirname;\n babelrcRoots = validatedFile.options.babelrcRoots;\n }\n\n mergeChain(configFileChain, result);\n }\n\n let ignoreFile, babelrcFile;\n let isIgnored = false;\n const fileChain = emptyChain();\n // resolve all .babelrc files\n if (\n (babelrc === true || babelrc === undefined) &&\n typeof context.filename === \"string\"\n ) {\n const pkgData = yield* findPackageData(context.filename);\n\n if (\n pkgData &&\n babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory)\n ) {\n ({ ignore: ignoreFile, config: babelrcFile } = yield* findRelativeConfig(\n pkgData,\n context.envName,\n context.caller,\n ));\n\n if (ignoreFile) {\n fileChain.files.add(ignoreFile.filepath);\n }\n\n if (\n ignoreFile &&\n shouldIgnore(context, ignoreFile.ignore, null, ignoreFile.dirname)\n ) {\n isIgnored = true;\n }\n\n if (babelrcFile && !isIgnored) {\n const validatedFile = validateBabelrcFile(babelrcFile);\n const babelrcLogger = new ConfigPrinter();\n const result = yield* loadFileChain(\n validatedFile,\n context,\n undefined,\n babelrcLogger,\n );\n if (!result) {\n isIgnored = true;\n } else {\n babelRcReport = yield* babelrcLogger.output();\n mergeChain(fileChain, result);\n }\n }\n\n if (babelrcFile && isIgnored) {\n fileChain.files.add(babelrcFile.filepath);\n }\n }\n }\n\n if (context.showConfig) {\n console.log(\n `Babel configs on \"${context.filename}\" (ascending priority):\\n` +\n // print config by the order of ascending priority\n [configReport, babelRcReport, programmaticReport]\n .filter(x => !!x)\n .join(\"\\n\\n\") +\n \"\\n-----End Babel configs-----\",\n );\n }\n // Insert file chain in front so programmatic options have priority\n // over configuration file chain items.\n const chain = mergeChain(\n mergeChain(mergeChain(emptyChain(), configFileChain), fileChain),\n programmaticChain,\n );\n\n return {\n plugins: isIgnored ? [] : dedupDescriptors(chain.plugins),\n presets: isIgnored ? [] : dedupDescriptors(chain.presets),\n options: isIgnored ? [] : chain.options.map(o => normalizeOptions(o)),\n fileHandling: isIgnored ? \"ignored\" : \"transpile\",\n ignore: ignoreFile || undefined,\n babelrc: babelrcFile || undefined,\n config: configFile || undefined,\n files: chain.files,\n };\n}\n\nfunction babelrcLoadEnabled(\n context: ConfigContext,\n pkgData: FilePackageData,\n babelrcRoots: BabelrcSearch | undefined,\n babelrcRootsDirectory: string,\n): boolean {\n if (typeof babelrcRoots === \"boolean\") return babelrcRoots;\n\n const absoluteRoot = context.root;\n\n // Fast path to avoid having to match patterns if the babelrc is just\n // loading in the standard root directory.\n if (babelrcRoots === undefined) {\n return pkgData.directories.indexOf(absoluteRoot) !== -1;\n }\n\n let babelrcPatterns = babelrcRoots;\n if (!Array.isArray(babelrcPatterns)) {\n babelrcPatterns = [babelrcPatterns as IgnoreItem];\n }\n babelrcPatterns = babelrcPatterns.map(pat => {\n return typeof pat === \"string\"\n ? path.resolve(babelrcRootsDirectory, pat)\n : pat;\n });\n\n // Fast path to avoid having to match patterns if the babelrc is just\n // loading in the standard root directory.\n if (babelrcPatterns.length === 1 && babelrcPatterns[0] === absoluteRoot) {\n return pkgData.directories.indexOf(absoluteRoot) !== -1;\n }\n\n return babelrcPatterns.some(pat => {\n if (typeof pat === \"string\") {\n pat = pathPatternToRegex(pat, babelrcRootsDirectory);\n }\n\n return pkgData.directories.some(directory => {\n return matchPattern(pat, babelrcRootsDirectory, directory, context);\n });\n });\n}\n\nconst validateConfigFile = makeWeakCacheSync(\n (file: ConfigFile): ValidatedFile => ({\n filepath: file.filepath,\n dirname: file.dirname,\n options: validate(\"configfile\", file.options, file.filepath),\n }),\n);\n\nconst validateBabelrcFile = makeWeakCacheSync(\n (file: ConfigFile): ValidatedFile => ({\n filepath: file.filepath,\n dirname: file.dirname,\n options: validate(\"babelrcfile\", file.options, file.filepath),\n }),\n);\n\nconst validateExtendFile = makeWeakCacheSync(\n (file: ConfigFile): ValidatedFile => ({\n filepath: file.filepath,\n dirname: file.dirname,\n options: validate(\"extendsfile\", file.options, file.filepath),\n }),\n);\n\n/**\n * Build a config chain for just the programmatic options passed into Babel.\n */\nconst loadProgrammaticChain = makeChainWalker({\n root: input => buildRootDescriptors(input, \"base\", createCachedDescriptors),\n env: (input, envName) =>\n buildEnvDescriptors(input, \"base\", createCachedDescriptors, envName),\n overrides: (input, index) =>\n buildOverrideDescriptors(input, \"base\", createCachedDescriptors, index),\n overridesEnv: (input, index, envName) =>\n buildOverrideEnvDescriptors(\n input,\n \"base\",\n createCachedDescriptors,\n index,\n envName,\n ),\n createLogger: (input, context, baseLogger) =>\n buildProgrammaticLogger(input, context, baseLogger),\n});\n\n/**\n * Build a config chain for a given file.\n */\nconst loadFileChainWalker = makeChainWalker({\n root: file => loadFileDescriptors(file),\n env: (file, envName) => loadFileEnvDescriptors(file)(envName),\n overrides: (file, index) => loadFileOverridesDescriptors(file)(index),\n overridesEnv: (file, index, envName) =>\n loadFileOverridesEnvDescriptors(file)(index)(envName),\n createLogger: (file, context, baseLogger) =>\n buildFileLogger(file.filepath, context, baseLogger),\n});\n\nfunction* loadFileChain(\n input: ValidatedFile,\n context: ConfigContext,\n files: Set,\n baseLogger: ConfigPrinter,\n) {\n const chain = yield* loadFileChainWalker(input, context, files, baseLogger);\n if (chain) {\n chain.files.add(input.filepath);\n }\n\n return chain;\n}\n\nconst loadFileDescriptors = makeWeakCacheSync((file: ValidatedFile) =>\n buildRootDescriptors(file, file.filepath, createUncachedDescriptors),\n);\nconst loadFileEnvDescriptors = makeWeakCacheSync((file: ValidatedFile) =>\n makeStrongCacheSync((envName: string) =>\n buildEnvDescriptors(\n file,\n file.filepath,\n createUncachedDescriptors,\n envName,\n ),\n ),\n);\nconst loadFileOverridesDescriptors = makeWeakCacheSync((file: ValidatedFile) =>\n makeStrongCacheSync((index: number) =>\n buildOverrideDescriptors(\n file,\n file.filepath,\n createUncachedDescriptors,\n index,\n ),\n ),\n);\nconst loadFileOverridesEnvDescriptors = makeWeakCacheSync(\n (file: ValidatedFile) =>\n makeStrongCacheSync((index: number) =>\n makeStrongCacheSync((envName: string) =>\n buildOverrideEnvDescriptors(\n file,\n file.filepath,\n createUncachedDescriptors,\n index,\n envName,\n ),\n ),\n ),\n);\n\nfunction buildFileLogger(\n filepath: string,\n context: ConfigContext,\n baseLogger: ConfigPrinter | void,\n) {\n if (!baseLogger) {\n return () => {};\n }\n return baseLogger.configure(context.showConfig, ChainFormatter.Config, {\n filepath,\n });\n}\n\nfunction buildRootDescriptors(\n { dirname, options }: Partial,\n alias: string,\n descriptors: (\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n ) => OptionsAndDescriptors,\n) {\n return descriptors(dirname, options, alias);\n}\n\nfunction buildProgrammaticLogger(\n _: unknown,\n context: ConfigContext,\n baseLogger: ConfigPrinter | void,\n) {\n if (!baseLogger) {\n return () => {};\n }\n return baseLogger.configure(context.showConfig, ChainFormatter.Programmatic, {\n callerName: context.caller?.name,\n });\n}\n\nfunction buildEnvDescriptors(\n { dirname, options }: Partial,\n alias: string,\n descriptors: (\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n ) => OptionsAndDescriptors,\n envName: string,\n) {\n const opts = options.env && options.env[envName];\n return opts ? descriptors(dirname, opts, `${alias}.env[\"${envName}\"]`) : null;\n}\n\nfunction buildOverrideDescriptors(\n { dirname, options }: Partial,\n alias: string,\n descriptors: (\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n ) => OptionsAndDescriptors,\n index: number,\n) {\n const opts = options.overrides && options.overrides[index];\n if (!opts) throw new Error(\"Assertion failure - missing override\");\n\n return descriptors(dirname, opts, `${alias}.overrides[${index}]`);\n}\n\nfunction buildOverrideEnvDescriptors(\n { dirname, options }: Partial,\n alias: string,\n descriptors: (\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n ) => OptionsAndDescriptors,\n index: number,\n envName: string,\n) {\n const override = options.overrides && options.overrides[index];\n if (!override) throw new Error(\"Assertion failure - missing override\");\n\n const opts = override.env && override.env[envName];\n return opts\n ? descriptors(\n dirname,\n opts,\n `${alias}.overrides[${index}].env[\"${envName}\"]`,\n )\n : null;\n}\n\nfunction makeChainWalker<\n ArgT extends {\n options: ValidatedOptions;\n dirname: string;\n filepath?: string;\n },\n>({\n root,\n env,\n overrides,\n overridesEnv,\n createLogger,\n}: {\n root: (configEntry: ArgT) => OptionsAndDescriptors;\n env: (configEntry: ArgT, env: string) => OptionsAndDescriptors | null;\n overrides: (configEntry: ArgT, index: number) => OptionsAndDescriptors;\n overridesEnv: (\n configEntry: ArgT,\n index: number,\n env: string,\n ) => OptionsAndDescriptors | null;\n createLogger: (\n configEntry: ArgT,\n context: ConfigContext,\n printer: ConfigPrinter | void,\n ) => (\n opts: OptionsAndDescriptors,\n index?: number | null,\n env?: string | null,\n ) => void;\n}): (\n configEntry: ArgT,\n context: ConfigContext,\n files?: Set,\n baseLogger?: ConfigPrinter,\n) => Handler {\n return function* chainWalker(input, context, files = new Set(), baseLogger) {\n const { dirname } = input;\n\n const flattenedConfigs: Array<{\n config: OptionsAndDescriptors;\n index: number | undefined | null;\n envName: string | undefined | null;\n }> = [];\n\n const rootOpts = root(input);\n if (configIsApplicable(rootOpts, dirname, context, input.filepath)) {\n flattenedConfigs.push({\n config: rootOpts,\n envName: undefined,\n index: undefined,\n });\n\n const envOpts = env(input, context.envName);\n if (\n envOpts &&\n configIsApplicable(envOpts, dirname, context, input.filepath)\n ) {\n flattenedConfigs.push({\n config: envOpts,\n envName: context.envName,\n index: undefined,\n });\n }\n\n (rootOpts.options.overrides || []).forEach((_, index) => {\n const overrideOps = overrides(input, index);\n if (configIsApplicable(overrideOps, dirname, context, input.filepath)) {\n flattenedConfigs.push({\n config: overrideOps,\n index,\n envName: undefined,\n });\n\n const overrideEnvOpts = overridesEnv(input, index, context.envName);\n if (\n overrideEnvOpts &&\n configIsApplicable(\n overrideEnvOpts,\n dirname,\n context,\n input.filepath,\n )\n ) {\n flattenedConfigs.push({\n config: overrideEnvOpts,\n index,\n envName: context.envName,\n });\n }\n }\n });\n }\n\n // Process 'ignore' and 'only' before 'extends' items are processed so\n // that we don't do extra work loading extended configs if a file is\n // ignored.\n if (\n flattenedConfigs.some(\n ({\n config: {\n options: { ignore, only },\n },\n }) => shouldIgnore(context, ignore, only, dirname),\n )\n ) {\n return null;\n }\n\n const chain = emptyChain();\n const logger = createLogger(input, context, baseLogger);\n\n for (const { config, index, envName } of flattenedConfigs) {\n if (\n !(yield* mergeExtendsChain(\n chain,\n config.options,\n dirname,\n context,\n files,\n baseLogger,\n ))\n ) {\n return null;\n }\n\n logger(config, index, envName);\n yield* mergeChainOpts(chain, config);\n }\n return chain;\n };\n}\n\nfunction* mergeExtendsChain(\n chain: ConfigChain,\n opts: ValidatedOptions,\n dirname: string,\n context: ConfigContext,\n files: Set,\n baseLogger?: ConfigPrinter,\n): Handler {\n if (opts.extends === undefined) return true;\n\n const file = yield* loadConfig(\n opts.extends,\n dirname,\n context.envName,\n context.caller,\n );\n\n if (files.has(file)) {\n throw new Error(\n `Configuration cycle detected loading ${file.filepath}.\\n` +\n `File already loaded following the config chain:\\n` +\n Array.from(files, file => ` - ${file.filepath}`).join(\"\\n\"),\n );\n }\n\n files.add(file);\n const fileChain = yield* loadFileChain(\n validateExtendFile(file),\n context,\n files,\n baseLogger,\n );\n files.delete(file);\n\n if (!fileChain) return false;\n\n mergeChain(chain, fileChain);\n\n return true;\n}\n\nfunction mergeChain(target: ConfigChain, source: ConfigChain): ConfigChain {\n target.options.push(...source.options);\n target.plugins.push(...source.plugins);\n target.presets.push(...source.presets);\n for (const file of source.files) {\n target.files.add(file);\n }\n\n return target;\n}\n\nfunction* mergeChainOpts(\n target: ConfigChain,\n { options, plugins, presets }: OptionsAndDescriptors,\n): Handler {\n target.options.push(options);\n target.plugins.push(...(yield* plugins()));\n target.presets.push(...(yield* presets()));\n\n return target;\n}\n\nfunction emptyChain(): ConfigChain {\n return {\n options: [],\n presets: [],\n plugins: [],\n files: new Set(),\n };\n}\n\nfunction normalizeOptions(opts: ValidatedOptions): ValidatedOptions {\n const options = {\n ...opts,\n };\n delete options.extends;\n delete options.env;\n delete options.overrides;\n delete options.plugins;\n delete options.presets;\n delete options.passPerPreset;\n delete options.ignore;\n delete options.only;\n delete options.test;\n delete options.include;\n delete options.exclude;\n\n // \"sourceMap\" is just aliased to sourceMap, so copy it over as\n // we merge the options together.\n if (Object.prototype.hasOwnProperty.call(options, \"sourceMap\")) {\n options.sourceMaps = options.sourceMap;\n delete options.sourceMap;\n }\n return options;\n}\n\nfunction dedupDescriptors(\n items: Array,\n): Array {\n const map: Map<\n Function,\n Map\n > = new Map();\n\n const descriptors = [];\n\n for (const item of items) {\n if (typeof item.value === \"function\") {\n const fnKey = item.value;\n let nameMap = map.get(fnKey);\n if (!nameMap) {\n nameMap = new Map();\n map.set(fnKey, nameMap);\n }\n let desc = nameMap.get(item.name);\n if (!desc) {\n desc = { value: item };\n descriptors.push(desc);\n\n // Treat passPerPreset presets as unique, skipping them\n // in the merge processing steps.\n if (!item.ownPass) nameMap.set(item.name, desc);\n } else {\n desc.value = item;\n }\n } else {\n descriptors.push({ value: item });\n }\n }\n\n return descriptors.reduce((acc, desc) => {\n acc.push(desc.value);\n return acc;\n }, []);\n}\n\nfunction configIsApplicable(\n { options }: OptionsAndDescriptors,\n dirname: string,\n context: ConfigContext,\n configName: string,\n): boolean {\n return (\n (options.test === undefined ||\n configFieldIsApplicable(context, options.test, dirname, configName)) &&\n (options.include === undefined ||\n configFieldIsApplicable(context, options.include, dirname, configName)) &&\n (options.exclude === undefined ||\n !configFieldIsApplicable(context, options.exclude, dirname, configName))\n );\n}\n\nfunction configFieldIsApplicable(\n context: ConfigContext,\n test: ConfigApplicableTest,\n dirname: string,\n configName: string,\n): boolean {\n const patterns = Array.isArray(test) ? test : [test];\n\n return matchesPatterns(context, patterns, dirname, configName);\n}\n\n/**\n * Print the ignoreList-values in a more helpful way than the default.\n */\nfunction ignoreListReplacer(\n _key: string,\n value: IgnoreList | IgnoreItem,\n): IgnoreList | IgnoreItem | string {\n if (value instanceof RegExp) {\n return String(value);\n }\n\n return value;\n}\n\n/**\n * Tests if a filename should be ignored based on \"ignore\" and \"only\" options.\n */\nfunction shouldIgnore(\n context: ConfigContext,\n ignore: IgnoreList | undefined | null,\n only: IgnoreList | undefined | null,\n dirname: string,\n): boolean {\n if (ignore && matchesPatterns(context, ignore, dirname)) {\n const message = `No config is applied to \"${\n context.filename ?? \"(unknown)\"\n }\" because it matches one of \\`ignore: ${JSON.stringify(\n ignore,\n ignoreListReplacer,\n )}\\` from \"${dirname}\"`;\n debug(message);\n if (context.showConfig) {\n console.log(message);\n }\n return true;\n }\n\n if (only && !matchesPatterns(context, only, dirname)) {\n const message = `No config is applied to \"${\n context.filename ?? \"(unknown)\"\n }\" because it fails to match one of \\`only: ${JSON.stringify(\n only,\n ignoreListReplacer,\n )}\\` from \"${dirname}\"`;\n debug(message);\n if (context.showConfig) {\n console.log(message);\n }\n return true;\n }\n\n return false;\n}\n\n/**\n * Returns result of calling function with filename if pattern is a function.\n * Otherwise returns result of matching pattern Regex with filename.\n */\nfunction matchesPatterns(\n context: ConfigContext,\n patterns: IgnoreList,\n dirname: string,\n configName?: string,\n): boolean {\n return patterns.some(pattern =>\n matchPattern(pattern, dirname, context.filename, context, configName),\n );\n}\n\nfunction matchPattern(\n pattern: IgnoreItem,\n dirname: string,\n pathToTest: string | undefined,\n context: ConfigContext,\n configName?: string,\n): boolean {\n if (typeof pattern === \"function\") {\n return !!endHiddenCallStack(pattern)(pathToTest, {\n dirname,\n envName: context.envName,\n caller: context.caller,\n });\n }\n\n if (typeof pathToTest !== \"string\") {\n throw new ConfigError(\n `Configuration contains string/RegExp pattern, but no filename was passed to Babel`,\n configName,\n );\n }\n\n if (typeof pattern === \"string\") {\n pattern = pathPatternToRegex(pattern, dirname);\n }\n return pattern.test(pathToTest);\n}\n"],"mappings":";;;;;;;;AAEA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAG,QAAA,GAAAF,OAAA;AASA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAGA,IAAAK,kBAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AAIA,IAAAO,MAAA,GAAAP,OAAA;AAQA,IAAAQ,QAAA,GAAAR,OAAA;AAEA,IAAAS,kBAAA,GAAAT,OAAA;AAZA,MAAMU,KAAK,GAAGC,OAASA,CAAC,CAAC,2BAA2B,CAAC;AAgD9C,UAAUC,gBAAgBA,CAC/BC,GAAmB,EACnBC,OAAY,EACiB;EAC7B,MAAMC,KAAK,GAAG,OAAOC,sBAAsB,CAACH,GAAG,EAAEC,OAAO,CAAC;EACzD,IAAI,CAACC,KAAK,EAAE,OAAO,IAAI;EAEvB,OAAO;IACLE,OAAO,EAAEC,gBAAgB,CAACH,KAAK,CAACE,OAAO,CAAC;IACxCE,OAAO,EAAED,gBAAgB,CAACH,KAAK,CAACI,OAAO,CAAC;IACxCC,OAAO,EAAEL,KAAK,CAACK,OAAO,CAACC,GAAG,CAACC,CAAC,IAAIC,gBAAgB,CAACD,CAAC,CAAC,CAAC;IACpDE,KAAK,EAAE,IAAIC,GAAG,CAAC;EACjB,CAAC;AACH;AAEO,MAAMT,sBAAsB,GAAGU,eAAe,CAAiB;EACpEC,IAAI,EAAEC,MAAM,IAAIC,qBAAqB,CAACD,MAAM,CAAC;EAC7CE,GAAG,EAAEA,CAACF,MAAM,EAAEG,OAAO,KAAKC,wBAAwB,CAACJ,MAAM,CAAC,CAACG,OAAO,CAAC;EACnEE,SAAS,EAAEA,CAACL,MAAM,EAAEM,KAAK,KAAKC,8BAA8B,CAACP,MAAM,CAAC,CAACM,KAAK,CAAC;EAC3EE,YAAY,EAAEA,CAACR,MAAM,EAAEM,KAAK,EAAEH,OAAO,KACnCM,iCAAiC,CAACT,MAAM,CAAC,CAACM,KAAK,CAAC,CAACH,OAAO,CAAC;EAC3DO,YAAY,EAAEA,CAAA,KAAM,MAAM,CAAC;AAC7B,CAAC,CAAC;AAACC,OAAA,CAAAvB,sBAAA,GAAAA,sBAAA;AACH,MAAMa,qBAAqB,GAAG,IAAAW,0BAAiB,EAAEZ,MAAsB,IACrEa,oBAAoB,CAACb,MAAM,EAAEA,MAAM,CAACc,KAAK,EAAEC,4CAAyB,CACtE,CAAC;AACD,MAAMX,wBAAwB,GAAG,IAAAQ,0BAAiB,EAAEZ,MAAsB,IACxE,IAAAgB,4BAAmB,EAAEb,OAAe,IAClCc,mBAAmB,CACjBjB,MAAM,EACNA,MAAM,CAACc,KAAK,EACZC,4CAAyB,EACzBZ,OACF,CACF,CACF,CAAC;AACD,MAAMI,8BAA8B,GAAG,IAAAK,0BAAiB,EACrDZ,MAAsB,IACrB,IAAAgB,4BAAmB,EAAEV,KAAa,IAChCY,wBAAwB,CACtBlB,MAAM,EACNA,MAAM,CAACc,KAAK,EACZC,4CAAyB,EACzBT,KACF,CACF,CACJ,CAAC;AACD,MAAMG,iCAAiC,GAAG,IAAAG,0BAAiB,EACxDZ,MAAsB,IACrB,IAAAgB,4BAAmB,EAAEV,KAAa,IAChC,IAAAU,4BAAmB,EAAEb,OAAe,IAClCgB,2BAA2B,CACzBnB,MAAM,EACNA,MAAM,CAACc,KAAK,EACZC,4CAAyB,EACzBT,KAAK,EACLH,OACF,CACF,CACF,CACJ,CAAC;AAcM,UAAUiB,cAAcA,CAC7BC,IAAsB,EACtBnC,OAAsB,EACW;EACjC,IAAIoC,YAAY,EAAEC,aAAa;EAC/B,MAAMC,kBAAkB,GAAG,IAAIC,sBAAa,CAAC,CAAC;EAC9C,MAAMC,iBAAiB,GAAG,OAAOC,qBAAqB,CACpD;IACEnC,OAAO,EAAE6B,IAAI;IACbO,OAAO,EAAE1C,OAAO,CAAC2C;EACnB,CAAC,EACD3C,OAAO,EACP4C,SAAS,EACTN,kBACF,CAAC;EACD,IAAI,CAACE,iBAAiB,EAAE,OAAO,IAAI;EACnC,MAAMK,kBAAkB,GAAG,OAAOP,kBAAkB,CAACQ,MAAM,CAAC,CAAC;EAE7D,IAAIC,UAAU;EACd,IAAI,OAAOZ,IAAI,CAACY,UAAU,KAAK,QAAQ,EAAE;IACvCA,UAAU,GAAG,OAAO,IAAAC,iBAAU,EAC5Bb,IAAI,CAACY,UAAU,EACf/C,OAAO,CAAC2C,GAAG,EACX3C,OAAO,CAACiB,OAAO,EACfjB,OAAO,CAACiD,MACV,CAAC;EACH,CAAC,MAAM,IAAId,IAAI,CAACY,UAAU,KAAK,KAAK,EAAE;IACpCA,UAAU,GAAG,OAAO,IAAAG,qBAAc,EAChClD,OAAO,CAACa,IAAI,EACZb,OAAO,CAACiB,OAAO,EACfjB,OAAO,CAACiD,MACV,CAAC;EACH;EAEA,IAAI;IAAEE,OAAO;IAAEC;EAAa,CAAC,GAAGjB,IAAI;EACpC,IAAIkB,qBAAqB,GAAGrD,OAAO,CAAC2C,GAAG;EAEvC,MAAMW,eAAe,GAAGC,UAAU,CAAC,CAAC;EACpC,MAAMC,gBAAgB,GAAG,IAAIjB,sBAAa,CAAC,CAAC;EAC5C,IAAIQ,UAAU,EAAE;IACd,MAAMU,aAAa,GAAGC,kBAAkB,CAACX,UAAU,CAAC;IACpD,MAAMY,MAAM,GAAG,OAAOC,aAAa,CACjCH,aAAa,EACbzD,OAAO,EACP4C,SAAS,EACTY,gBACF,CAAC;IACD,IAAI,CAACG,MAAM,EAAE,OAAO,IAAI;IACxBvB,YAAY,GAAG,OAAOoB,gBAAgB,CAACV,MAAM,CAAC,CAAC;IAI/C,IAAIK,OAAO,KAAKP,SAAS,EAAE;MACzBO,OAAO,GAAGM,aAAa,CAACnD,OAAO,CAAC6C,OAAO;IACzC;IACA,IAAIC,YAAY,KAAKR,SAAS,EAAE;MAC9BS,qBAAqB,GAAGI,aAAa,CAACf,OAAO;MAC7CU,YAAY,GAAGK,aAAa,CAACnD,OAAO,CAAC8C,YAAY;IACnD;IAEAS,UAAU,CAACP,eAAe,EAAEK,MAAM,CAAC;EACrC;EAEA,IAAIG,UAAU,EAAEC,WAAW;EAC3B,IAAIC,SAAS,GAAG,KAAK;EACrB,MAAMC,SAAS,GAAGV,UAAU,CAAC,CAAC;EAE9B,IACE,CAACJ,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAKP,SAAS,KAC1C,OAAO5C,OAAO,CAACkE,QAAQ,KAAK,QAAQ,EACpC;IACA,MAAMC,OAAO,GAAG,OAAO,IAAAC,sBAAe,EAACpE,OAAO,CAACkE,QAAQ,CAAC;IAExD,IACEC,OAAO,IACPE,kBAAkB,CAACrE,OAAO,EAAEmE,OAAO,EAAEf,YAAY,EAAEC,qBAAqB,CAAC,EACzE;MACA,CAAC;QAAEiB,MAAM,EAAER,UAAU;QAAES,MAAM,EAAER;MAAY,CAAC,GAAG,OAAO,IAAAS,yBAAkB,EACtEL,OAAO,EACPnE,OAAO,CAACiB,OAAO,EACfjB,OAAO,CAACiD,MACV,CAAC;MAED,IAAIa,UAAU,EAAE;QACdG,SAAS,CAACvD,KAAK,CAAC+D,GAAG,CAACX,UAAU,CAACY,QAAQ,CAAC;MAC1C;MAEA,IACEZ,UAAU,IACVa,YAAY,CAAC3E,OAAO,EAAE8D,UAAU,CAACQ,MAAM,EAAE,IAAI,EAAER,UAAU,CAACpB,OAAO,CAAC,EAClE;QACAsB,SAAS,GAAG,IAAI;MAClB;MAEA,IAAID,WAAW,IAAI,CAACC,SAAS,EAAE;QAC7B,MAAMP,aAAa,GAAGmB,mBAAmB,CAACb,WAAW,CAAC;QACtD,MAAMc,aAAa,GAAG,IAAItC,sBAAa,CAAC,CAAC;QACzC,MAAMoB,MAAM,GAAG,OAAOC,aAAa,CACjCH,aAAa,EACbzD,OAAO,EACP4C,SAAS,EACTiC,aACF,CAAC;QACD,IAAI,CAAClB,MAAM,EAAE;UACXK,SAAS,GAAG,IAAI;QAClB,CAAC,MAAM;UACL3B,aAAa,GAAG,OAAOwC,aAAa,CAAC/B,MAAM,CAAC,CAAC;UAC7Ce,UAAU,CAACI,SAAS,EAAEN,MAAM,CAAC;QAC/B;MACF;MAEA,IAAII,WAAW,IAAIC,SAAS,EAAE;QAC5BC,SAAS,CAACvD,KAAK,CAAC+D,GAAG,CAACV,WAAW,CAACW,QAAQ,CAAC;MAC3C;IACF;EACF;EAEA,IAAI1E,OAAO,CAAC8E,UAAU,EAAE;IACtBC,OAAO,CAACC,GAAG,CACR,qBAAoBhF,OAAO,CAACkE,QAAS,2BAA0B,GAE9D,CAAC9B,YAAY,EAAEC,aAAa,EAAEQ,kBAAkB,CAAC,CAC9CoC,MAAM,CAACC,CAAC,IAAI,CAAC,CAACA,CAAC,CAAC,CAChBC,IAAI,CAAC,MAAM,CAAC,GACf,+BACJ,CAAC;EACH;EAGA,MAAMlF,KAAK,GAAG4D,UAAU,CACtBA,UAAU,CAACA,UAAU,CAACN,UAAU,CAAC,CAAC,EAAED,eAAe,CAAC,EAAEW,SAAS,CAAC,EAChEzB,iBACF,CAAC;EAED,OAAO;IACLrC,OAAO,EAAE6D,SAAS,GAAG,EAAE,GAAG5D,gBAAgB,CAACH,KAAK,CAACE,OAAO,CAAC;IACzDE,OAAO,EAAE2D,SAAS,GAAG,EAAE,GAAG5D,gBAAgB,CAACH,KAAK,CAACI,OAAO,CAAC;IACzDC,OAAO,EAAE0D,SAAS,GAAG,EAAE,GAAG/D,KAAK,CAACK,OAAO,CAACC,GAAG,CAACC,CAAC,IAAIC,gBAAgB,CAACD,CAAC,CAAC,CAAC;IACrE4E,YAAY,EAAEpB,SAAS,GAAG,SAAS,GAAG,WAAW;IACjDM,MAAM,EAAER,UAAU,IAAIlB,SAAS;IAC/BO,OAAO,EAAEY,WAAW,IAAInB,SAAS;IACjC2B,MAAM,EAAExB,UAAU,IAAIH,SAAS;IAC/BlC,KAAK,EAAET,KAAK,CAACS;EACf,CAAC;AACH;AAEA,SAAS2D,kBAAkBA,CACzBrE,OAAsB,EACtBmE,OAAwB,EACxBf,YAAuC,EACvCC,qBAA6B,EACpB;EACT,IAAI,OAAOD,YAAY,KAAK,SAAS,EAAE,OAAOA,YAAY;EAE1D,MAAMiC,YAAY,GAAGrF,OAAO,CAACa,IAAI;EAIjC,IAAIuC,YAAY,KAAKR,SAAS,EAAE;IAC9B,OAAOuB,OAAO,CAACmB,WAAW,CAACC,OAAO,CAACF,YAAY,CAAC,KAAK,CAAC,CAAC;EACzD;EAEA,IAAIG,eAAe,GAAGpC,YAAY;EAClC,IAAI,CAACqC,KAAK,CAACC,OAAO,CAACF,eAAe,CAAC,EAAE;IACnCA,eAAe,GAAG,CAACA,eAAe,CAAe;EACnD;EACAA,eAAe,GAAGA,eAAe,CAACjF,GAAG,CAACoF,GAAG,IAAI;IAC3C,OAAO,OAAOA,GAAG,KAAK,QAAQ,GAC1BC,MAAGA,CAAC,CAACC,OAAO,CAACxC,qBAAqB,EAAEsC,GAAG,CAAC,GACxCA,GAAG;EACT,CAAC,CAAC;EAIF,IAAIH,eAAe,CAACM,MAAM,KAAK,CAAC,IAAIN,eAAe,CAAC,CAAC,CAAC,KAAKH,YAAY,EAAE;IACvE,OAAOlB,OAAO,CAACmB,WAAW,CAACC,OAAO,CAACF,YAAY,CAAC,KAAK,CAAC,CAAC;EACzD;EAEA,OAAOG,eAAe,CAACO,IAAI,CAACJ,GAAG,IAAI;IACjC,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;MAC3BA,GAAG,GAAG,IAAAK,uBAAkB,EAACL,GAAG,EAAEtC,qBAAqB,CAAC;IACtD;IAEA,OAAOc,OAAO,CAACmB,WAAW,CAACS,IAAI,CAACE,SAAS,IAAI;MAC3C,OAAOC,YAAY,CAACP,GAAG,EAAEtC,qBAAqB,EAAE4C,SAAS,EAAEjG,OAAO,CAAC;IACrE,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEA,MAAM0D,kBAAkB,GAAG,IAAAhC,0BAAiB,EACzCyE,IAAgB,KAAqB;EACpCzB,QAAQ,EAAEyB,IAAI,CAACzB,QAAQ;EACvBhC,OAAO,EAAEyD,IAAI,CAACzD,OAAO;EACrBpC,OAAO,EAAE,IAAA8F,iBAAQ,EAAC,YAAY,EAAED,IAAI,CAAC7F,OAAO,EAAE6F,IAAI,CAACzB,QAAQ;AAC7D,CAAC,CACH,CAAC;AAED,MAAME,mBAAmB,GAAG,IAAAlD,0BAAiB,EAC1CyE,IAAgB,KAAqB;EACpCzB,QAAQ,EAAEyB,IAAI,CAACzB,QAAQ;EACvBhC,OAAO,EAAEyD,IAAI,CAACzD,OAAO;EACrBpC,OAAO,EAAE,IAAA8F,iBAAQ,EAAC,aAAa,EAAED,IAAI,CAAC7F,OAAO,EAAE6F,IAAI,CAACzB,QAAQ;AAC9D,CAAC,CACH,CAAC;AAED,MAAM2B,kBAAkB,GAAG,IAAA3E,0BAAiB,EACzCyE,IAAgB,KAAqB;EACpCzB,QAAQ,EAAEyB,IAAI,CAACzB,QAAQ;EACvBhC,OAAO,EAAEyD,IAAI,CAACzD,OAAO;EACrBpC,OAAO,EAAE,IAAA8F,iBAAQ,EAAC,aAAa,EAAED,IAAI,CAAC7F,OAAO,EAAE6F,IAAI,CAACzB,QAAQ;AAC9D,CAAC,CACH,CAAC;AAKD,MAAMjC,qBAAqB,GAAG7B,eAAe,CAAC;EAC5CC,IAAI,EAAEyF,KAAK,IAAI3E,oBAAoB,CAAC2E,KAAK,EAAE,MAAM,EAAEC,0CAAuB,CAAC;EAC3EvF,GAAG,EAAEA,CAACsF,KAAK,EAAErF,OAAO,KAClBc,mBAAmB,CAACuE,KAAK,EAAE,MAAM,EAAEC,0CAAuB,EAAEtF,OAAO,CAAC;EACtEE,SAAS,EAAEA,CAACmF,KAAK,EAAElF,KAAK,KACtBY,wBAAwB,CAACsE,KAAK,EAAE,MAAM,EAAEC,0CAAuB,EAAEnF,KAAK,CAAC;EACzEE,YAAY,EAAEA,CAACgF,KAAK,EAAElF,KAAK,EAAEH,OAAO,KAClCgB,2BAA2B,CACzBqE,KAAK,EACL,MAAM,EACNC,0CAAuB,EACvBnF,KAAK,EACLH,OACF,CAAC;EACHO,YAAY,EAAEA,CAAC8E,KAAK,EAAEtG,OAAO,EAAEwG,UAAU,KACvCC,uBAAuB,CAACH,KAAK,EAAEtG,OAAO,EAAEwG,UAAU;AACtD,CAAC,CAAC;AAKF,MAAME,mBAAmB,GAAG9F,eAAe,CAAgB;EACzDC,IAAI,EAAEsF,IAAI,IAAIQ,mBAAmB,CAACR,IAAI,CAAC;EACvCnF,GAAG,EAAEA,CAACmF,IAAI,EAAElF,OAAO,KAAK2F,sBAAsB,CAACT,IAAI,CAAC,CAAClF,OAAO,CAAC;EAC7DE,SAAS,EAAEA,CAACgF,IAAI,EAAE/E,KAAK,KAAKyF,4BAA4B,CAACV,IAAI,CAAC,CAAC/E,KAAK,CAAC;EACrEE,YAAY,EAAEA,CAAC6E,IAAI,EAAE/E,KAAK,EAAEH,OAAO,KACjC6F,+BAA+B,CAACX,IAAI,CAAC,CAAC/E,KAAK,CAAC,CAACH,OAAO,CAAC;EACvDO,YAAY,EAAEA,CAAC2E,IAAI,EAAEnG,OAAO,EAAEwG,UAAU,KACtCO,eAAe,CAACZ,IAAI,CAACzB,QAAQ,EAAE1E,OAAO,EAAEwG,UAAU;AACtD,CAAC,CAAC;AAEF,UAAU5C,aAAaA,CACrB0C,KAAoB,EACpBtG,OAAsB,EACtBU,KAAsB,EACtB8F,UAAyB,EACzB;EACA,MAAMvG,KAAK,GAAG,OAAOyG,mBAAmB,CAACJ,KAAK,EAAEtG,OAAO,EAAEU,KAAK,EAAE8F,UAAU,CAAC;EAC3E,IAAIvG,KAAK,EAAE;IACTA,KAAK,CAACS,KAAK,CAAC+D,GAAG,CAAC6B,KAAK,CAAC5B,QAAQ,CAAC;EACjC;EAEA,OAAOzE,KAAK;AACd;AAEA,MAAM0G,mBAAmB,GAAG,IAAAjF,0BAAiB,EAAEyE,IAAmB,IAChExE,oBAAoB,CAACwE,IAAI,EAAEA,IAAI,CAACzB,QAAQ,EAAE7C,4CAAyB,CACrE,CAAC;AACD,MAAM+E,sBAAsB,GAAG,IAAAlF,0BAAiB,EAAEyE,IAAmB,IACnE,IAAArE,4BAAmB,EAAEb,OAAe,IAClCc,mBAAmB,CACjBoE,IAAI,EACJA,IAAI,CAACzB,QAAQ,EACb7C,4CAAyB,EACzBZ,OACF,CACF,CACF,CAAC;AACD,MAAM4F,4BAA4B,GAAG,IAAAnF,0BAAiB,EAAEyE,IAAmB,IACzE,IAAArE,4BAAmB,EAAEV,KAAa,IAChCY,wBAAwB,CACtBmE,IAAI,EACJA,IAAI,CAACzB,QAAQ,EACb7C,4CAAyB,EACzBT,KACF,CACF,CACF,CAAC;AACD,MAAM0F,+BAA+B,GAAG,IAAApF,0BAAiB,EACtDyE,IAAmB,IAClB,IAAArE,4BAAmB,EAAEV,KAAa,IAChC,IAAAU,4BAAmB,EAAEb,OAAe,IAClCgB,2BAA2B,CACzBkE,IAAI,EACJA,IAAI,CAACzB,QAAQ,EACb7C,4CAAyB,EACzBT,KAAK,EACLH,OACF,CACF,CACF,CACJ,CAAC;AAED,SAAS8F,eAAeA,CACtBrC,QAAgB,EAChB1E,OAAsB,EACtBwG,UAAgC,EAChC;EACA,IAAI,CAACA,UAAU,EAAE;IACf,OAAO,MAAM,CAAC,CAAC;EACjB;EACA,OAAOA,UAAU,CAACQ,SAAS,CAAChH,OAAO,CAAC8E,UAAU,EAAEmC,uBAAc,CAACC,MAAM,EAAE;IACrExC;EACF,CAAC,CAAC;AACJ;AAEA,SAAS/C,oBAAoBA,CAC3B;EAAEe,OAAO;EAAEpC;AAAgC,CAAC,EAC5CsB,KAAa,EACbuF,WAI0B,EAC1B;EACA,OAAOA,WAAW,CAACzE,OAAO,EAAEpC,OAAO,EAAEsB,KAAK,CAAC;AAC7C;AAEA,SAAS6E,uBAAuBA,CAC9BW,CAAU,EACVpH,OAAsB,EACtBwG,UAAgC,EAChC;EAAA,IAAAa,eAAA;EACA,IAAI,CAACb,UAAU,EAAE;IACf,OAAO,MAAM,CAAC,CAAC;EACjB;EACA,OAAOA,UAAU,CAACQ,SAAS,CAAChH,OAAO,CAAC8E,UAAU,EAAEmC,uBAAc,CAACK,YAAY,EAAE;IAC3EC,UAAU,GAAAF,eAAA,GAAErH,OAAO,CAACiD,MAAM,qBAAdoE,eAAA,CAAgBG;EAC9B,CAAC,CAAC;AACJ;AAEA,SAASzF,mBAAmBA,CAC1B;EAAEW,OAAO;EAAEpC;AAAgC,CAAC,EAC5CsB,KAAa,EACbuF,WAI0B,EAC1BlG,OAAe,EACf;EACA,MAAMkB,IAAI,GAAG7B,OAAO,CAACU,GAAG,IAAIV,OAAO,CAACU,GAAG,CAACC,OAAO,CAAC;EAChD,OAAOkB,IAAI,GAAGgF,WAAW,CAACzE,OAAO,EAAEP,IAAI,EAAG,GAAEP,KAAM,SAAQX,OAAQ,IAAG,CAAC,GAAG,IAAI;AAC/E;AAEA,SAASe,wBAAwBA,CAC/B;EAAEU,OAAO;EAAEpC;AAAgC,CAAC,EAC5CsB,KAAa,EACbuF,WAI0B,EAC1B/F,KAAa,EACb;EACA,MAAMe,IAAI,GAAG7B,OAAO,CAACa,SAAS,IAAIb,OAAO,CAACa,SAAS,CAACC,KAAK,CAAC;EAC1D,IAAI,CAACe,IAAI,EAAE,MAAM,IAAIsF,KAAK,CAAC,sCAAsC,CAAC;EAElE,OAAON,WAAW,CAACzE,OAAO,EAAEP,IAAI,EAAG,GAAEP,KAAM,cAAaR,KAAM,GAAE,CAAC;AACnE;AAEA,SAASa,2BAA2BA,CAClC;EAAES,OAAO;EAAEpC;AAAgC,CAAC,EAC5CsB,KAAa,EACbuF,WAI0B,EAC1B/F,KAAa,EACbH,OAAe,EACf;EACA,MAAMyG,QAAQ,GAAGpH,OAAO,CAACa,SAAS,IAAIb,OAAO,CAACa,SAAS,CAACC,KAAK,CAAC;EAC9D,IAAI,CAACsG,QAAQ,EAAE,MAAM,IAAID,KAAK,CAAC,sCAAsC,CAAC;EAEtE,MAAMtF,IAAI,GAAGuF,QAAQ,CAAC1G,GAAG,IAAI0G,QAAQ,CAAC1G,GAAG,CAACC,OAAO,CAAC;EAClD,OAAOkB,IAAI,GACPgF,WAAW,CACTzE,OAAO,EACPP,IAAI,EACH,GAAEP,KAAM,cAAaR,KAAM,UAASH,OAAQ,IAC/C,CAAC,GACD,IAAI;AACV;AAEA,SAASL,eAAeA,CAMtB;EACAC,IAAI;EACJG,GAAG;EACHG,SAAS;EACTG,YAAY;EACZE;AAmBF,CAAC,EAKgC;EAC/B,OAAO,UAAUmG,WAAWA,CAACrB,KAAK,EAAEtG,OAAO,EAAEU,KAAK,GAAG,IAAIC,GAAG,CAAC,CAAC,EAAE6F,UAAU,EAAE;IAC1E,MAAM;MAAE9D;IAAQ,CAAC,GAAG4D,KAAK;IAEzB,MAAMsB,gBAIJ,GAAG,EAAE;IAEP,MAAMC,QAAQ,GAAGhH,IAAI,CAACyF,KAAK,CAAC;IAC5B,IAAIwB,kBAAkB,CAACD,QAAQ,EAAEnF,OAAO,EAAE1C,OAAO,EAAEsG,KAAK,CAAC5B,QAAQ,CAAC,EAAE;MAClEkD,gBAAgB,CAACG,IAAI,CAAC;QACpBxD,MAAM,EAAEsD,QAAQ;QAChB5G,OAAO,EAAE2B,SAAS;QAClBxB,KAAK,EAAEwB;MACT,CAAC,CAAC;MAEF,MAAMoF,OAAO,GAAGhH,GAAG,CAACsF,KAAK,EAAEtG,OAAO,CAACiB,OAAO,CAAC;MAC3C,IACE+G,OAAO,IACPF,kBAAkB,CAACE,OAAO,EAAEtF,OAAO,EAAE1C,OAAO,EAAEsG,KAAK,CAAC5B,QAAQ,CAAC,EAC7D;QACAkD,gBAAgB,CAACG,IAAI,CAAC;UACpBxD,MAAM,EAAEyD,OAAO;UACf/G,OAAO,EAAEjB,OAAO,CAACiB,OAAO;UACxBG,KAAK,EAAEwB;QACT,CAAC,CAAC;MACJ;MAEA,CAACiF,QAAQ,CAACvH,OAAO,CAACa,SAAS,IAAI,EAAE,EAAE8G,OAAO,CAAC,CAACb,CAAC,EAAEhG,KAAK,KAAK;QACvD,MAAM8G,WAAW,GAAG/G,SAAS,CAACmF,KAAK,EAAElF,KAAK,CAAC;QAC3C,IAAI0G,kBAAkB,CAACI,WAAW,EAAExF,OAAO,EAAE1C,OAAO,EAAEsG,KAAK,CAAC5B,QAAQ,CAAC,EAAE;UACrEkD,gBAAgB,CAACG,IAAI,CAAC;YACpBxD,MAAM,EAAE2D,WAAW;YACnB9G,KAAK;YACLH,OAAO,EAAE2B;UACX,CAAC,CAAC;UAEF,MAAMuF,eAAe,GAAG7G,YAAY,CAACgF,KAAK,EAAElF,KAAK,EAAEpB,OAAO,CAACiB,OAAO,CAAC;UACnE,IACEkH,eAAe,IACfL,kBAAkB,CAChBK,eAAe,EACfzF,OAAO,EACP1C,OAAO,EACPsG,KAAK,CAAC5B,QACR,CAAC,EACD;YACAkD,gBAAgB,CAACG,IAAI,CAAC;cACpBxD,MAAM,EAAE4D,eAAe;cACvB/G,KAAK;cACLH,OAAO,EAAEjB,OAAO,CAACiB;YACnB,CAAC,CAAC;UACJ;QACF;MACF,CAAC,CAAC;IACJ;IAKA,IACE2G,gBAAgB,CAAC7B,IAAI,CACnB,CAAC;MACCxB,MAAM,EAAE;QACNjE,OAAO,EAAE;UAAEgE,MAAM;UAAE8D;QAAK;MAC1B;IACF,CAAC,KAAKzD,YAAY,CAAC3E,OAAO,EAAEsE,MAAM,EAAE8D,IAAI,EAAE1F,OAAO,CACnD,CAAC,EACD;MACA,OAAO,IAAI;IACb;IAEA,MAAMzC,KAAK,GAAGsD,UAAU,CAAC,CAAC;IAC1B,MAAM8E,MAAM,GAAG7G,YAAY,CAAC8E,KAAK,EAAEtG,OAAO,EAAEwG,UAAU,CAAC;IAEvD,KAAK,MAAM;MAAEjC,MAAM;MAAEnD,KAAK;MAAEH;IAAQ,CAAC,IAAI2G,gBAAgB,EAAE;MACzD,IACE,EAAE,OAAOU,iBAAiB,CACxBrI,KAAK,EACLsE,MAAM,CAACjE,OAAO,EACdoC,OAAO,EACP1C,OAAO,EACPU,KAAK,EACL8F,UACF,CAAC,CAAC,EACF;QACA,OAAO,IAAI;MACb;MAEA6B,MAAM,CAAC9D,MAAM,EAAEnD,KAAK,EAAEH,OAAO,CAAC;MAC9B,OAAOsH,cAAc,CAACtI,KAAK,EAAEsE,MAAM,CAAC;IACtC;IACA,OAAOtE,KAAK;EACd,CAAC;AACH;AAEA,UAAUqI,iBAAiBA,CACzBrI,KAAkB,EAClBkC,IAAsB,EACtBO,OAAe,EACf1C,OAAsB,EACtBU,KAAsB,EACtB8F,UAA0B,EACR;EAClB,IAAIrE,IAAI,CAACqG,OAAO,KAAK5F,SAAS,EAAE,OAAO,IAAI;EAE3C,MAAMuD,IAAI,GAAG,OAAO,IAAAnD,iBAAU,EAC5Bb,IAAI,CAACqG,OAAO,EACZ9F,OAAO,EACP1C,OAAO,CAACiB,OAAO,EACfjB,OAAO,CAACiD,MACV,CAAC;EAED,IAAIvC,KAAK,CAAC+H,GAAG,CAACtC,IAAI,CAAC,EAAE;IACnB,MAAM,IAAIsB,KAAK,CACZ,wCAAuCtB,IAAI,CAACzB,QAAS,KAAI,GACvD,mDAAkD,GACnDe,KAAK,CAACiD,IAAI,CAAChI,KAAK,EAAEyF,IAAI,IAAK,MAAKA,IAAI,CAACzB,QAAS,EAAC,CAAC,CAACS,IAAI,CAAC,IAAI,CAC9D,CAAC;EACH;EAEAzE,KAAK,CAAC+D,GAAG,CAAC0B,IAAI,CAAC;EACf,MAAMlC,SAAS,GAAG,OAAOL,aAAa,CACpCyC,kBAAkB,CAACF,IAAI,CAAC,EACxBnG,OAAO,EACPU,KAAK,EACL8F,UACF,CAAC;EACD9F,KAAK,CAACiI,MAAM,CAACxC,IAAI,CAAC;EAElB,IAAI,CAAClC,SAAS,EAAE,OAAO,KAAK;EAE5BJ,UAAU,CAAC5D,KAAK,EAAEgE,SAAS,CAAC;EAE5B,OAAO,IAAI;AACb;AAEA,SAASJ,UAAUA,CAAC+E,MAAmB,EAAEC,MAAmB,EAAe;EACzED,MAAM,CAACtI,OAAO,CAACyH,IAAI,CAAC,GAAGc,MAAM,CAACvI,OAAO,CAAC;EACtCsI,MAAM,CAACzI,OAAO,CAAC4H,IAAI,CAAC,GAAGc,MAAM,CAAC1I,OAAO,CAAC;EACtCyI,MAAM,CAACvI,OAAO,CAAC0H,IAAI,CAAC,GAAGc,MAAM,CAACxI,OAAO,CAAC;EACtC,KAAK,MAAM8F,IAAI,IAAI0C,MAAM,CAACnI,KAAK,EAAE;IAC/BkI,MAAM,CAAClI,KAAK,CAAC+D,GAAG,CAAC0B,IAAI,CAAC;EACxB;EAEA,OAAOyC,MAAM;AACf;AAEA,UAAUL,cAAcA,CACtBK,MAAmB,EACnB;EAAEtI,OAAO;EAAEH,OAAO;EAAEE;AAA+B,CAAC,EAC9B;EACtBuI,MAAM,CAACtI,OAAO,CAACyH,IAAI,CAACzH,OAAO,CAAC;EAC5BsI,MAAM,CAACzI,OAAO,CAAC4H,IAAI,CAAC,IAAI,OAAO5H,OAAO,CAAC,CAAC,CAAC,CAAC;EAC1CyI,MAAM,CAACvI,OAAO,CAAC0H,IAAI,CAAC,IAAI,OAAO1H,OAAO,CAAC,CAAC,CAAC,CAAC;EAE1C,OAAOuI,MAAM;AACf;AAEA,SAASrF,UAAUA,CAAA,EAAgB;EACjC,OAAO;IACLjD,OAAO,EAAE,EAAE;IACXD,OAAO,EAAE,EAAE;IACXF,OAAO,EAAE,EAAE;IACXO,KAAK,EAAE,IAAIC,GAAG,CAAC;EACjB,CAAC;AACH;AAEA,SAASF,gBAAgBA,CAAC0B,IAAsB,EAAoB;EAClE,MAAM7B,OAAO,GAAAwI,MAAA,CAAAC,MAAA,KACR5G,IAAI,CACR;EACD,OAAO7B,OAAO,CAACkI,OAAO;EACtB,OAAOlI,OAAO,CAACU,GAAG;EAClB,OAAOV,OAAO,CAACa,SAAS;EACxB,OAAOb,OAAO,CAACH,OAAO;EACtB,OAAOG,OAAO,CAACD,OAAO;EACtB,OAAOC,OAAO,CAAC0I,aAAa;EAC5B,OAAO1I,OAAO,CAACgE,MAAM;EACrB,OAAOhE,OAAO,CAAC8H,IAAI;EACnB,OAAO9H,OAAO,CAAC2I,IAAI;EACnB,OAAO3I,OAAO,CAAC4I,OAAO;EACtB,OAAO5I,OAAO,CAAC6I,OAAO;EAItB,IAAIL,MAAM,CAACM,SAAS,CAACC,cAAc,CAACC,IAAI,CAAChJ,OAAO,EAAE,WAAW,CAAC,EAAE;IAC9DA,OAAO,CAACiJ,UAAU,GAAGjJ,OAAO,CAACkJ,SAAS;IACtC,OAAOlJ,OAAO,CAACkJ,SAAS;EAC1B;EACA,OAAOlJ,OAAO;AAChB;AAEA,SAASF,gBAAgBA,CACvBqJ,KAAgC,EACL;EAC3B,MAAMlJ,GAGL,GAAG,IAAImJ,GAAG,CAAC,CAAC;EAEb,MAAMvC,WAAW,GAAG,EAAE;EAEtB,KAAK,MAAMwC,IAAI,IAAIF,KAAK,EAAE;IACxB,IAAI,OAAOE,IAAI,CAACC,KAAK,KAAK,UAAU,EAAE;MACpC,MAAMC,KAAK,GAAGF,IAAI,CAACC,KAAK;MACxB,IAAIE,OAAO,GAAGvJ,GAAG,CAACwJ,GAAG,CAACF,KAAK,CAAC;MAC5B,IAAI,CAACC,OAAO,EAAE;QACZA,OAAO,GAAG,IAAIJ,GAAG,CAAC,CAAC;QACnBnJ,GAAG,CAACyJ,GAAG,CAACH,KAAK,EAAEC,OAAO,CAAC;MACzB;MACA,IAAIG,IAAI,GAAGH,OAAO,CAACC,GAAG,CAACJ,IAAI,CAACnC,IAAI,CAAC;MACjC,IAAI,CAACyC,IAAI,EAAE;QACTA,IAAI,GAAG;UAAEL,KAAK,EAAED;QAAK,CAAC;QACtBxC,WAAW,CAACY,IAAI,CAACkC,IAAI,CAAC;QAItB,IAAI,CAACN,IAAI,CAACO,OAAO,EAAEJ,OAAO,CAACE,GAAG,CAACL,IAAI,CAACnC,IAAI,EAAEyC,IAAI,CAAC;MACjD,CAAC,MAAM;QACLA,IAAI,CAACL,KAAK,GAAGD,IAAI;MACnB;IACF,CAAC,MAAM;MACLxC,WAAW,CAACY,IAAI,CAAC;QAAE6B,KAAK,EAAED;MAAK,CAAC,CAAC;IACnC;EACF;EAEA,OAAOxC,WAAW,CAACgD,MAAM,CAAC,CAACC,GAAG,EAAEH,IAAI,KAAK;IACvCG,GAAG,CAACrC,IAAI,CAACkC,IAAI,CAACL,KAAK,CAAC;IACpB,OAAOQ,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC;AACR;AAEA,SAAStC,kBAAkBA,CACzB;EAAExH;AAA+B,CAAC,EAClCoC,OAAe,EACf1C,OAAsB,EACtBqK,UAAkB,EACT;EACT,OACE,CAAC/J,OAAO,CAAC2I,IAAI,KAAKrG,SAAS,IACzB0H,uBAAuB,CAACtK,OAAO,EAAEM,OAAO,CAAC2I,IAAI,EAAEvG,OAAO,EAAE2H,UAAU,CAAC,MACpE/J,OAAO,CAAC4I,OAAO,KAAKtG,SAAS,IAC5B0H,uBAAuB,CAACtK,OAAO,EAAEM,OAAO,CAAC4I,OAAO,EAAExG,OAAO,EAAE2H,UAAU,CAAC,CAAC,KACxE/J,OAAO,CAAC6I,OAAO,KAAKvG,SAAS,IAC5B,CAAC0H,uBAAuB,CAACtK,OAAO,EAAEM,OAAO,CAAC6I,OAAO,EAAEzG,OAAO,EAAE2H,UAAU,CAAC,CAAC;AAE9E;AAEA,SAASC,uBAAuBA,CAC9BtK,OAAsB,EACtBiJ,IAA0B,EAC1BvG,OAAe,EACf2H,UAAkB,EACT;EACT,MAAME,QAAQ,GAAG9E,KAAK,CAACC,OAAO,CAACuD,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC;EAEpD,OAAOuB,eAAe,CAACxK,OAAO,EAAEuK,QAAQ,EAAE7H,OAAO,EAAE2H,UAAU,CAAC;AAChE;AAKA,SAASI,kBAAkBA,CACzBC,IAAY,EACZd,KAA8B,EACI;EAClC,IAAIA,KAAK,YAAYe,MAAM,EAAE;IAC3B,OAAOC,MAAM,CAAChB,KAAK,CAAC;EACtB;EAEA,OAAOA,KAAK;AACd;AAKA,SAASjF,YAAYA,CACnB3E,OAAsB,EACtBsE,MAAqC,EACrC8D,IAAmC,EACnC1F,OAAe,EACN;EACT,IAAI4B,MAAM,IAAIkG,eAAe,CAACxK,OAAO,EAAEsE,MAAM,EAAE5B,OAAO,CAAC,EAAE;IAAA,IAAAmI,iBAAA;IACvD,MAAMC,OAAO,GAAI,4BAAyB,CAAAD,iBAAA,GACxC7K,OAAO,CAACkE,QAAQ,YAAA2G,iBAAA,GAAI,WACrB,yCAAwCE,IAAI,CAACC,SAAS,CACrD1G,MAAM,EACNmG,kBACF,CAAE,YAAW/H,OAAQ,GAAE;IACvB9C,KAAK,CAACkL,OAAO,CAAC;IACd,IAAI9K,OAAO,CAAC8E,UAAU,EAAE;MACtBC,OAAO,CAACC,GAAG,CAAC8F,OAAO,CAAC;IACtB;IACA,OAAO,IAAI;EACb;EAEA,IAAI1C,IAAI,IAAI,CAACoC,eAAe,CAACxK,OAAO,EAAEoI,IAAI,EAAE1F,OAAO,CAAC,EAAE;IAAA,IAAAuI,kBAAA;IACpD,MAAMH,OAAO,GAAI,4BAAyB,CAAAG,kBAAA,GACxCjL,OAAO,CAACkE,QAAQ,YAAA+G,kBAAA,GAAI,WACrB,8CAA6CF,IAAI,CAACC,SAAS,CAC1D5C,IAAI,EACJqC,kBACF,CAAE,YAAW/H,OAAQ,GAAE;IACvB9C,KAAK,CAACkL,OAAO,CAAC;IACd,IAAI9K,OAAO,CAAC8E,UAAU,EAAE;MACtBC,OAAO,CAACC,GAAG,CAAC8F,OAAO,CAAC;IACtB;IACA,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd;AAMA,SAASN,eAAeA,CACtBxK,OAAsB,EACtBuK,QAAoB,EACpB7H,OAAe,EACf2H,UAAmB,EACV;EACT,OAAOE,QAAQ,CAACxE,IAAI,CAACmF,OAAO,IAC1BhF,YAAY,CAACgF,OAAO,EAAExI,OAAO,EAAE1C,OAAO,CAACkE,QAAQ,EAAElE,OAAO,EAAEqK,UAAU,CACtE,CAAC;AACH;AAEA,SAASnE,YAAYA,CACnBgF,OAAmB,EACnBxI,OAAe,EACfyI,UAA8B,EAC9BnL,OAAsB,EACtBqK,UAAmB,EACV;EACT,IAAI,OAAOa,OAAO,KAAK,UAAU,EAAE;IACjC,OAAO,CAAC,CAAC,IAAAE,qCAAkB,EAACF,OAAO,CAAC,CAACC,UAAU,EAAE;MAC/CzI,OAAO;MACPzB,OAAO,EAAEjB,OAAO,CAACiB,OAAO;MACxBgC,MAAM,EAAEjD,OAAO,CAACiD;IAClB,CAAC,CAAC;EACJ;EAEA,IAAI,OAAOkI,UAAU,KAAK,QAAQ,EAAE;IAClC,MAAM,IAAIE,oBAAW,CAClB,mFAAkF,EACnFhB,UACF,CAAC;EACH;EAEA,IAAI,OAAOa,OAAO,KAAK,QAAQ,EAAE;IAC/BA,OAAO,GAAG,IAAAlF,uBAAkB,EAACkF,OAAO,EAAExI,OAAO,CAAC;EAChD;EACA,OAAOwI,OAAO,CAACjC,IAAI,CAACkC,UAAU,CAAC;AACjC;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/config-descriptors.js.map b/node_modules/@babel/core/lib/config/config-descriptors.js.map index fbbe4264a..a5846bf99 100644 --- a/node_modules/@babel/core/lib/config/config-descriptors.js.map +++ b/node_modules/@babel/core/lib/config/config-descriptors.js.map @@ -1 +1 @@ -{"version":3,"names":["_gensync","data","require","_functional","_files","_item","_caching","_resolveTargets","isEqualDescriptor","a","b","name","value","options","dirname","alias","ownPass","file","request","resolved","handlerOf","optionsWithResolvedBrowserslistConfigFile","browserslistConfigFile","resolveBrowserslistConfigFile","createCachedDescriptors","plugins","presets","passPerPreset","createCachedPluginDescriptors","createCachedPresetDescriptors","createUncachedDescriptors","once","createPluginDescriptors","createPresetDescriptors","PRESET_DESCRIPTOR_CACHE","WeakMap","makeWeakCacheSync","items","cache","using","dir","makeStrongCacheSync","makeStrongCache","descriptors","map","desc","loadCachedDescriptor","PLUGIN_DESCRIPTOR_CACHE","DEFAULT_OPTIONS","cacheByOptions","get","set","possibilities","indexOf","matches","filter","possibility","length","push","createDescriptors","type","gensync","all","item","index","createDescriptor","assertNoDuplicates","pair","getItemDescriptor","Array","isArray","undefined","filepath","Error","resolver","loadPlugin","loadPreset","String","__esModule","default","Map","nameMap","Set","has","conflicts","i","JSON","stringify","join","add"],"sources":["../../src/config/config-descriptors.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\nimport { once } from \"../gensync-utils/functional\";\n\nimport { loadPlugin, loadPreset } from \"./files\";\n\nimport { getItemDescriptor } from \"./item\";\n\nimport {\n makeWeakCacheSync,\n makeStrongCacheSync,\n makeStrongCache,\n} from \"./caching\";\nimport type { CacheConfigurator } from \"./caching\";\n\nimport type {\n ValidatedOptions,\n PluginList,\n PluginItem,\n} from \"./validation/options\";\n\nimport { resolveBrowserslistConfigFile } from \"./resolve-targets\";\n\n// Represents a config object and functions to lazily load the descriptors\n// for the plugins and presets so we don't load the plugins/presets unless\n// the options object actually ends up being applicable.\nexport type OptionsAndDescriptors = {\n options: ValidatedOptions;\n plugins: () => Handler>;\n presets: () => Handler>;\n};\n\n// Represents a plugin or presets at a given location in a config object.\n// At this point these have been resolved to a specific object or function,\n// but have not yet been executed to call functions with options.\nexport type UnloadedDescriptor = {\n name: string | undefined;\n value: any | Function;\n options: {} | undefined | false;\n dirname: string;\n alias: string;\n ownPass?: boolean;\n file?: {\n request: string;\n resolved: string;\n };\n};\n\nfunction isEqualDescriptor(\n a: UnloadedDescriptor,\n b: UnloadedDescriptor,\n): boolean {\n return (\n a.name === b.name &&\n a.value === b.value &&\n a.options === b.options &&\n a.dirname === b.dirname &&\n a.alias === b.alias &&\n a.ownPass === b.ownPass &&\n (a.file && a.file.request) === (b.file && b.file.request) &&\n (a.file && a.file.resolved) === (b.file && b.file.resolved)\n );\n}\n\nexport type ValidatedFile = {\n filepath: string;\n dirname: string;\n options: ValidatedOptions;\n};\n\n// eslint-disable-next-line require-yield\nfunction* handlerOf(value: T): Handler {\n return value;\n}\n\nfunction optionsWithResolvedBrowserslistConfigFile(\n options: ValidatedOptions,\n dirname: string,\n): ValidatedOptions {\n if (typeof options.browserslistConfigFile === \"string\") {\n options.browserslistConfigFile = resolveBrowserslistConfigFile(\n options.browserslistConfigFile,\n dirname,\n );\n }\n return options;\n}\n\n/**\n * Create a set of descriptors from a given options object, preserving\n * descriptor identity based on the identity of the plugin/preset arrays\n * themselves, and potentially on the identity of the plugins/presets + options.\n */\nexport function createCachedDescriptors(\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n): OptionsAndDescriptors {\n const { plugins, presets, passPerPreset } = options;\n return {\n options: optionsWithResolvedBrowserslistConfigFile(options, dirname),\n plugins: plugins\n ? () =>\n // @ts-expect-error todo(flow->ts) ts complains about incorrect arguments\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n createCachedPluginDescriptors(plugins, dirname)(alias)\n : () => handlerOf([]),\n presets: presets\n ? () =>\n // @ts-expect-error todo(flow->ts) ts complains about incorrect arguments\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n createCachedPresetDescriptors(presets, dirname)(alias)(\n !!passPerPreset,\n )\n : () => handlerOf([]),\n };\n}\n\n/**\n * Create a set of descriptors from a given options object, with consistent\n * identity for the descriptors, but not caching based on any specific identity.\n */\nexport function createUncachedDescriptors(\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n): OptionsAndDescriptors {\n return {\n options: optionsWithResolvedBrowserslistConfigFile(options, dirname),\n // The returned result here is cached to represent a config object in\n // memory, so we build and memoize the descriptors to ensure the same\n // values are returned consistently.\n plugins: once(() =>\n createPluginDescriptors(options.plugins || [], dirname, alias),\n ),\n presets: once(() =>\n createPresetDescriptors(\n options.presets || [],\n dirname,\n alias,\n !!options.passPerPreset,\n ),\n ),\n };\n}\n\nconst PRESET_DESCRIPTOR_CACHE = new WeakMap();\nconst createCachedPresetDescriptors = makeWeakCacheSync(\n (items: PluginList, cache: CacheConfigurator) => {\n const dirname = cache.using(dir => dir);\n return makeStrongCacheSync((alias: string) =>\n makeStrongCache(function* (\n passPerPreset: boolean,\n ): Handler> {\n const descriptors = yield* createPresetDescriptors(\n items,\n dirname,\n alias,\n passPerPreset,\n );\n return descriptors.map(\n // Items are cached using the overall preset array identity when\n // possibly, but individual descriptors are also cached if a match\n // can be found in the previously-used descriptor lists.\n desc => loadCachedDescriptor(PRESET_DESCRIPTOR_CACHE, desc),\n );\n }),\n );\n },\n);\n\nconst PLUGIN_DESCRIPTOR_CACHE = new WeakMap();\nconst createCachedPluginDescriptors = makeWeakCacheSync(\n (items: PluginList, cache: CacheConfigurator) => {\n const dirname = cache.using(dir => dir);\n return makeStrongCache(function* (\n alias: string,\n ): Handler> {\n const descriptors = yield* createPluginDescriptors(items, dirname, alias);\n return descriptors.map(\n // Items are cached using the overall plugin array identity when\n // possibly, but individual descriptors are also cached if a match\n // can be found in the previously-used descriptor lists.\n desc => loadCachedDescriptor(PLUGIN_DESCRIPTOR_CACHE, desc),\n );\n });\n },\n);\n\n/**\n * When no options object is given in a descriptor, this object is used\n * as a WeakMap key in order to have consistent identity.\n */\nconst DEFAULT_OPTIONS = {};\n\n/**\n * Given the cache and a descriptor, returns a matching descriptor from the\n * cache, or else returns the input descriptor and adds it to the cache for\n * next time.\n */\nfunction loadCachedDescriptor(\n cache: WeakMap<{} | Function, WeakMap<{}, Array>>,\n desc: UnloadedDescriptor,\n) {\n const { value, options = DEFAULT_OPTIONS } = desc;\n if (options === false) return desc;\n\n let cacheByOptions = cache.get(value);\n if (!cacheByOptions) {\n cacheByOptions = new WeakMap();\n cache.set(value, cacheByOptions);\n }\n\n let possibilities = cacheByOptions.get(options);\n if (!possibilities) {\n possibilities = [];\n cacheByOptions.set(options, possibilities);\n }\n\n if (possibilities.indexOf(desc) === -1) {\n const matches = possibilities.filter(possibility =>\n isEqualDescriptor(possibility, desc),\n );\n if (matches.length > 0) {\n return matches[0];\n }\n\n possibilities.push(desc);\n }\n\n return desc;\n}\n\nfunction* createPresetDescriptors(\n items: PluginList,\n dirname: string,\n alias: string,\n passPerPreset: boolean,\n): Handler> {\n return yield* createDescriptors(\n \"preset\",\n items,\n dirname,\n alias,\n passPerPreset,\n );\n}\n\nfunction* createPluginDescriptors(\n items: PluginList,\n dirname: string,\n alias: string,\n): Handler> {\n return yield* createDescriptors(\"plugin\", items, dirname, alias);\n}\n\nfunction* createDescriptors(\n type: \"plugin\" | \"preset\",\n items: PluginList,\n dirname: string,\n alias: string,\n ownPass?: boolean,\n): Handler> {\n const descriptors = yield* gensync.all(\n items.map((item, index) =>\n createDescriptor(item, dirname, {\n type,\n alias: `${alias}$${index}`,\n ownPass: !!ownPass,\n }),\n ),\n );\n\n assertNoDuplicates(descriptors);\n\n return descriptors;\n}\n\n/**\n * Given a plugin/preset item, resolve it into a standard format.\n */\nexport function* createDescriptor(\n pair: PluginItem,\n dirname: string,\n {\n type,\n alias,\n ownPass,\n }: {\n type?: \"plugin\" | \"preset\";\n alias: string;\n ownPass?: boolean;\n },\n): Handler {\n const desc = getItemDescriptor(pair);\n if (desc) {\n return desc;\n }\n\n let name;\n let options;\n // todo(flow->ts) better type annotation\n let value: any = pair;\n if (Array.isArray(value)) {\n if (value.length === 3) {\n [value, options, name] = value;\n } else {\n [value, options] = value;\n }\n }\n\n let file = undefined;\n let filepath = null;\n if (typeof value === \"string\") {\n if (typeof type !== \"string\") {\n throw new Error(\n \"To resolve a string-based item, the type of item must be given\",\n );\n }\n const resolver = type === \"plugin\" ? loadPlugin : loadPreset;\n const request = value;\n\n ({ filepath, value } = yield* resolver(value, dirname));\n\n file = {\n request,\n resolved: filepath,\n };\n }\n\n if (!value) {\n throw new Error(`Unexpected falsy value: ${String(value)}`);\n }\n\n if (typeof value === \"object\" && value.__esModule) {\n if (value.default) {\n value = value.default;\n } else {\n throw new Error(\"Must export a default export when using ES6 modules.\");\n }\n }\n\n if (typeof value !== \"object\" && typeof value !== \"function\") {\n throw new Error(\n `Unsupported format: ${typeof value}. Expected an object or a function.`,\n );\n }\n\n if (filepath !== null && typeof value === \"object\" && value) {\n // We allow object values for plugins/presets nested directly within a\n // config object, because it can be useful to define them in nested\n // configuration contexts.\n throw new Error(\n `Plugin/Preset files are not allowed to export objects, only functions. In ${filepath}`,\n );\n }\n\n return {\n name,\n alias: filepath || alias,\n value,\n options,\n dirname,\n ownPass,\n file,\n };\n}\n\nfunction assertNoDuplicates(items: Array): void {\n const map = new Map();\n\n for (const item of items) {\n if (typeof item.value !== \"function\") continue;\n\n let nameMap = map.get(item.value);\n if (!nameMap) {\n nameMap = new Set();\n map.set(item.value, nameMap);\n }\n\n if (nameMap.has(item.name)) {\n const conflicts = items.filter(i => i.value === item.value);\n throw new Error(\n [\n `Duplicate plugin/preset detected.`,\n `If you'd like to use two separate instances of a plugin,`,\n `they need separate names, e.g.`,\n ``,\n ` plugins: [`,\n ` ['some-plugin', {}],`,\n ` ['some-plugin', {}, 'some unique name'],`,\n ` ]`,\n ``,\n `Duplicates detected are:`,\n `${JSON.stringify(conflicts, null, 2)}`,\n ].join(\"\\n\"),\n );\n }\n\n nameMap.add(item.name);\n }\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_gensync","data","require","_functional","_files","_item","_caching","_resolveTargets","isEqualDescriptor","a","b","name","value","options","dirname","alias","ownPass","file","request","resolved","handlerOf","optionsWithResolvedBrowserslistConfigFile","browserslistConfigFile","resolveBrowserslistConfigFile","createCachedDescriptors","plugins","presets","passPerPreset","createCachedPluginDescriptors","createCachedPresetDescriptors","createUncachedDescriptors","once","createPluginDescriptors","createPresetDescriptors","PRESET_DESCRIPTOR_CACHE","WeakMap","makeWeakCacheSync","items","cache","using","dir","makeStrongCacheSync","makeStrongCache","descriptors","map","desc","loadCachedDescriptor","PLUGIN_DESCRIPTOR_CACHE","DEFAULT_OPTIONS","cacheByOptions","get","set","possibilities","indexOf","matches","filter","possibility","length","push","createDescriptors","type","gensync","all","item","index","createDescriptor","assertNoDuplicates","pair","getItemDescriptor","Array","isArray","undefined","filepath","Error","resolver","loadPlugin","loadPreset","String","__esModule","default","Map","nameMap","Set","has","conflicts","i","JSON","stringify","join","add"],"sources":["../../src/config/config-descriptors.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\nimport { once } from \"../gensync-utils/functional\";\n\nimport { loadPlugin, loadPreset } from \"./files\";\n\nimport { getItemDescriptor } from \"./item\";\n\nimport {\n makeWeakCacheSync,\n makeStrongCacheSync,\n makeStrongCache,\n} from \"./caching\";\nimport type { CacheConfigurator } from \"./caching\";\n\nimport type {\n ValidatedOptions,\n PluginList,\n PluginItem,\n} from \"./validation/options\";\n\nimport { resolveBrowserslistConfigFile } from \"./resolve-targets\";\n\n// Represents a config object and functions to lazily load the descriptors\n// for the plugins and presets so we don't load the plugins/presets unless\n// the options object actually ends up being applicable.\nexport type OptionsAndDescriptors = {\n options: ValidatedOptions;\n plugins: () => Handler>;\n presets: () => Handler>;\n};\n\n// Represents a plugin or presets at a given location in a config object.\n// At this point these have been resolved to a specific object or function,\n// but have not yet been executed to call functions with options.\nexport type UnloadedDescriptor = {\n name: string | undefined;\n value: any | Function;\n options: {} | undefined | false;\n dirname: string;\n alias: string;\n ownPass?: boolean;\n file?: {\n request: string;\n resolved: string;\n };\n};\n\nfunction isEqualDescriptor(\n a: UnloadedDescriptor,\n b: UnloadedDescriptor,\n): boolean {\n return (\n a.name === b.name &&\n a.value === b.value &&\n a.options === b.options &&\n a.dirname === b.dirname &&\n a.alias === b.alias &&\n a.ownPass === b.ownPass &&\n (a.file && a.file.request) === (b.file && b.file.request) &&\n (a.file && a.file.resolved) === (b.file && b.file.resolved)\n );\n}\n\nexport type ValidatedFile = {\n filepath: string;\n dirname: string;\n options: ValidatedOptions;\n};\n\n// eslint-disable-next-line require-yield\nfunction* handlerOf(value: T): Handler {\n return value;\n}\n\nfunction optionsWithResolvedBrowserslistConfigFile(\n options: ValidatedOptions,\n dirname: string,\n): ValidatedOptions {\n if (typeof options.browserslistConfigFile === \"string\") {\n options.browserslistConfigFile = resolveBrowserslistConfigFile(\n options.browserslistConfigFile,\n dirname,\n );\n }\n return options;\n}\n\n/**\n * Create a set of descriptors from a given options object, preserving\n * descriptor identity based on the identity of the plugin/preset arrays\n * themselves, and potentially on the identity of the plugins/presets + options.\n */\nexport function createCachedDescriptors(\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n): OptionsAndDescriptors {\n const { plugins, presets, passPerPreset } = options;\n return {\n options: optionsWithResolvedBrowserslistConfigFile(options, dirname),\n plugins: plugins\n ? () =>\n // @ts-expect-error todo(flow->ts) ts complains about incorrect arguments\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n createCachedPluginDescriptors(plugins, dirname)(alias)\n : () => handlerOf([]),\n presets: presets\n ? () =>\n // @ts-expect-error todo(flow->ts) ts complains about incorrect arguments\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n createCachedPresetDescriptors(presets, dirname)(alias)(\n !!passPerPreset,\n )\n : () => handlerOf([]),\n };\n}\n\n/**\n * Create a set of descriptors from a given options object, with consistent\n * identity for the descriptors, but not caching based on any specific identity.\n */\nexport function createUncachedDescriptors(\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n): OptionsAndDescriptors {\n return {\n options: optionsWithResolvedBrowserslistConfigFile(options, dirname),\n // The returned result here is cached to represent a config object in\n // memory, so we build and memoize the descriptors to ensure the same\n // values are returned consistently.\n plugins: once(() =>\n createPluginDescriptors(options.plugins || [], dirname, alias),\n ),\n presets: once(() =>\n createPresetDescriptors(\n options.presets || [],\n dirname,\n alias,\n !!options.passPerPreset,\n ),\n ),\n };\n}\n\nconst PRESET_DESCRIPTOR_CACHE = new WeakMap();\nconst createCachedPresetDescriptors = makeWeakCacheSync(\n (items: PluginList, cache: CacheConfigurator) => {\n const dirname = cache.using(dir => dir);\n return makeStrongCacheSync((alias: string) =>\n makeStrongCache(function* (\n passPerPreset: boolean,\n ): Handler> {\n const descriptors = yield* createPresetDescriptors(\n items,\n dirname,\n alias,\n passPerPreset,\n );\n return descriptors.map(\n // Items are cached using the overall preset array identity when\n // possibly, but individual descriptors are also cached if a match\n // can be found in the previously-used descriptor lists.\n desc => loadCachedDescriptor(PRESET_DESCRIPTOR_CACHE, desc),\n );\n }),\n );\n },\n);\n\nconst PLUGIN_DESCRIPTOR_CACHE = new WeakMap();\nconst createCachedPluginDescriptors = makeWeakCacheSync(\n (items: PluginList, cache: CacheConfigurator) => {\n const dirname = cache.using(dir => dir);\n return makeStrongCache(function* (\n alias: string,\n ): Handler> {\n const descriptors = yield* createPluginDescriptors(items, dirname, alias);\n return descriptors.map(\n // Items are cached using the overall plugin array identity when\n // possibly, but individual descriptors are also cached if a match\n // can be found in the previously-used descriptor lists.\n desc => loadCachedDescriptor(PLUGIN_DESCRIPTOR_CACHE, desc),\n );\n });\n },\n);\n\n/**\n * When no options object is given in a descriptor, this object is used\n * as a WeakMap key in order to have consistent identity.\n */\nconst DEFAULT_OPTIONS = {};\n\n/**\n * Given the cache and a descriptor, returns a matching descriptor from the\n * cache, or else returns the input descriptor and adds it to the cache for\n * next time.\n */\nfunction loadCachedDescriptor(\n cache: WeakMap<{} | Function, WeakMap<{}, Array>>,\n desc: UnloadedDescriptor,\n) {\n const { value, options = DEFAULT_OPTIONS } = desc;\n if (options === false) return desc;\n\n let cacheByOptions = cache.get(value);\n if (!cacheByOptions) {\n cacheByOptions = new WeakMap();\n cache.set(value, cacheByOptions);\n }\n\n let possibilities = cacheByOptions.get(options);\n if (!possibilities) {\n possibilities = [];\n cacheByOptions.set(options, possibilities);\n }\n\n if (possibilities.indexOf(desc) === -1) {\n const matches = possibilities.filter(possibility =>\n isEqualDescriptor(possibility, desc),\n );\n if (matches.length > 0) {\n return matches[0];\n }\n\n possibilities.push(desc);\n }\n\n return desc;\n}\n\nfunction* createPresetDescriptors(\n items: PluginList,\n dirname: string,\n alias: string,\n passPerPreset: boolean,\n): Handler> {\n return yield* createDescriptors(\n \"preset\",\n items,\n dirname,\n alias,\n passPerPreset,\n );\n}\n\nfunction* createPluginDescriptors(\n items: PluginList,\n dirname: string,\n alias: string,\n): Handler> {\n return yield* createDescriptors(\"plugin\", items, dirname, alias);\n}\n\nfunction* createDescriptors(\n type: \"plugin\" | \"preset\",\n items: PluginList,\n dirname: string,\n alias: string,\n ownPass?: boolean,\n): Handler> {\n const descriptors = yield* gensync.all(\n items.map((item, index) =>\n createDescriptor(item, dirname, {\n type,\n alias: `${alias}$${index}`,\n ownPass: !!ownPass,\n }),\n ),\n );\n\n assertNoDuplicates(descriptors);\n\n return descriptors;\n}\n\n/**\n * Given a plugin/preset item, resolve it into a standard format.\n */\nexport function* createDescriptor(\n pair: PluginItem,\n dirname: string,\n {\n type,\n alias,\n ownPass,\n }: {\n type?: \"plugin\" | \"preset\";\n alias: string;\n ownPass?: boolean;\n },\n): Handler {\n const desc = getItemDescriptor(pair);\n if (desc) {\n return desc;\n }\n\n let name;\n let options;\n // todo(flow->ts) better type annotation\n let value: any = pair;\n if (Array.isArray(value)) {\n if (value.length === 3) {\n [value, options, name] = value;\n } else {\n [value, options] = value;\n }\n }\n\n let file = undefined;\n let filepath = null;\n if (typeof value === \"string\") {\n if (typeof type !== \"string\") {\n throw new Error(\n \"To resolve a string-based item, the type of item must be given\",\n );\n }\n const resolver = type === \"plugin\" ? loadPlugin : loadPreset;\n const request = value;\n\n ({ filepath, value } = yield* resolver(value, dirname));\n\n file = {\n request,\n resolved: filepath,\n };\n }\n\n if (!value) {\n throw new Error(`Unexpected falsy value: ${String(value)}`);\n }\n\n if (typeof value === \"object\" && value.__esModule) {\n if (value.default) {\n value = value.default;\n } else {\n throw new Error(\"Must export a default export when using ES6 modules.\");\n }\n }\n\n if (typeof value !== \"object\" && typeof value !== \"function\") {\n throw new Error(\n `Unsupported format: ${typeof value}. Expected an object or a function.`,\n );\n }\n\n if (filepath !== null && typeof value === \"object\" && value) {\n // We allow object values for plugins/presets nested directly within a\n // config object, because it can be useful to define them in nested\n // configuration contexts.\n throw new Error(\n `Plugin/Preset files are not allowed to export objects, only functions. In ${filepath}`,\n );\n }\n\n return {\n name,\n alias: filepath || alias,\n value,\n options,\n dirname,\n ownPass,\n file,\n };\n}\n\nfunction assertNoDuplicates(items: Array): void {\n const map = new Map();\n\n for (const item of items) {\n if (typeof item.value !== \"function\") continue;\n\n let nameMap = map.get(item.value);\n if (!nameMap) {\n nameMap = new Set();\n map.set(item.value, nameMap);\n }\n\n if (nameMap.has(item.name)) {\n const conflicts = items.filter(i => i.value === item.value);\n throw new Error(\n [\n `Duplicate plugin/preset detected.`,\n `If you'd like to use two separate instances of a plugin,`,\n `they need separate names, e.g.`,\n ``,\n ` plugins: [`,\n ` ['some-plugin', {}],`,\n ` ['some-plugin', {}, 'some unique name'],`,\n ` ]`,\n ``,\n `Duplicates detected are:`,\n `${JSON.stringify(conflicts, null, 2)}`,\n ].join(\"\\n\"),\n );\n }\n\n nameMap.add(item.name);\n }\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/files/configuration.js.map b/node_modules/@babel/core/lib/config/files/configuration.js.map index e6a027ac1..9fe5cdf4a 100644 --- a/node_modules/@babel/core/lib/config/files/configuration.js.map +++ b/node_modules/@babel/core/lib/config/files/configuration.js.map @@ -1 +1 @@ -{"version":3,"names":["_debug","data","require","_fs","_path","_json","_gensync","_caching","_configApi","_utils","_moduleTypes","_patternToRegex","_configError","fs","_rewriteStackTrace","debug","buildDebug","ROOT_CONFIG_FILENAMES","exports","RELATIVE_CONFIG_FILENAMES","BABELIGNORE_FILENAME","LOADING_CONFIGS","Set","readConfigCode","makeStrongCache","filepath","cache","nodeFs","existsSync","never","has","dirname","path","options","add","loadCodeDefault","delete","assertCache","endHiddenCallStack","makeConfigAPI","Array","isArray","ConfigError","then","configured","throwConfigError","packageToBabelConfig","makeWeakCacheSync","file","babel","readConfigJSON5","makeStaticFileCache","content","json5","parse","err","message","readIgnoreConfig","ignoreDir","ignorePatterns","split","map","line","replace","trim","filter","pattern","ignore","pathPatternToRegex","findConfigUpwards","rootDir","filename","join","nextDir","findRelativeConfig","packageData","envName","caller","config","loc","directories","_packageData$pkg","loadOneConfig","pkg","ignoreLoc","findRootConfig","names","previousConfig","configs","gensync","all","readConfig","reduce","basename","loadConfig","name","v","w","process","versions","node","resolve","r","paths","b","M","f","_findPath","_nodeModulePaths","concat","Error","code","conf","ext","extname","resolveShowConfigPath","targetPath","env","BABEL_SHOW_CONFIG_FOR","absolutePath","stats","stat","isFile"],"sources":["../../../src/config/files/configuration.ts"],"sourcesContent":["import buildDebug from \"debug\";\nimport nodeFs from \"fs\";\nimport path from \"path\";\nimport json5 from \"json5\";\nimport gensync from \"gensync\";\nimport type { Handler } from \"gensync\";\nimport { makeStrongCache, makeWeakCacheSync } from \"../caching\";\nimport type { CacheConfigurator } from \"../caching\";\nimport { makeConfigAPI } from \"../helpers/config-api\";\nimport type { ConfigAPI } from \"../helpers/config-api\";\nimport { makeStaticFileCache } from \"./utils\";\nimport loadCodeDefault from \"./module-types\";\nimport pathPatternToRegex from \"../pattern-to-regex\";\nimport type { FilePackageData, RelativeConfig, ConfigFile } from \"./types\";\nimport type { CallerMetadata } from \"../validation/options\";\nimport ConfigError from \"../../errors/config-error\";\n\nimport * as fs from \"../../gensync-utils/fs\";\n\nimport { createRequire } from \"module\";\nimport { endHiddenCallStack } from \"../../errors/rewrite-stack-trace\";\nconst require = createRequire(import.meta.url);\n\nconst debug = buildDebug(\"babel:config:loading:files:configuration\");\n\nexport const ROOT_CONFIG_FILENAMES = [\n \"babel.config.js\",\n \"babel.config.cjs\",\n \"babel.config.mjs\",\n \"babel.config.json\",\n \"babel.config.cts\",\n];\nconst RELATIVE_CONFIG_FILENAMES = [\n \".babelrc\",\n \".babelrc.js\",\n \".babelrc.cjs\",\n \".babelrc.mjs\",\n \".babelrc.json\",\n \".babelrc.cts\",\n];\n\nconst BABELIGNORE_FILENAME = \".babelignore\";\n\nconst LOADING_CONFIGS = new Set();\n\nconst readConfigCode = makeStrongCache(function* readConfigCode(\n filepath: string,\n cache: CacheConfigurator<{\n envName: string;\n caller: CallerMetadata | undefined;\n }>,\n): Handler {\n if (!nodeFs.existsSync(filepath)) {\n cache.never();\n return null;\n }\n\n // The `require()` call below can make this code reentrant if a require hook like @babel/register has been\n // loaded into the system. That would cause Babel to attempt to compile the `.babelrc.js` file as it loads\n // below. To cover this case, we auto-ignore re-entrant config processing.\n if (LOADING_CONFIGS.has(filepath)) {\n cache.never();\n\n debug(\"Auto-ignoring usage of config %o.\", filepath);\n return {\n filepath,\n dirname: path.dirname(filepath),\n options: {},\n };\n }\n\n let options: unknown;\n try {\n LOADING_CONFIGS.add(filepath);\n options = yield* loadCodeDefault(\n filepath,\n \"You appear to be using a native ECMAScript module configuration \" +\n \"file, which is only supported when running Babel asynchronously.\",\n );\n } finally {\n LOADING_CONFIGS.delete(filepath);\n }\n\n let assertCache = false;\n if (typeof options === \"function\") {\n // @ts-expect-error - if we want to make it possible to use async configs\n yield* [];\n\n options = endHiddenCallStack(options as any as (api: ConfigAPI) => {})(\n makeConfigAPI(cache),\n );\n\n assertCache = true;\n }\n\n if (!options || typeof options !== \"object\" || Array.isArray(options)) {\n throw new ConfigError(\n `Configuration should be an exported JavaScript object.`,\n filepath,\n );\n }\n\n // @ts-expect-error todo(flow->ts)\n if (typeof options.then === \"function\") {\n throw new ConfigError(\n `You appear to be using an async configuration, ` +\n `which your current version of Babel does not support. ` +\n `We may add support for this in the future, ` +\n `but if you're on the most recent version of @babel/core and still ` +\n `seeing this error, then you'll need to synchronously return your config.`,\n filepath,\n );\n }\n\n if (assertCache && !cache.configured()) throwConfigError(filepath);\n\n return {\n filepath,\n dirname: path.dirname(filepath),\n options,\n };\n});\n\nconst packageToBabelConfig = makeWeakCacheSync(\n (file: ConfigFile): ConfigFile | null => {\n const babel: unknown = file.options[\"babel\"];\n\n if (typeof babel === \"undefined\") return null;\n\n if (typeof babel !== \"object\" || Array.isArray(babel) || babel === null) {\n throw new ConfigError(`.babel property must be an object`, file.filepath);\n }\n\n return {\n filepath: file.filepath,\n dirname: file.dirname,\n options: babel,\n };\n },\n);\n\nconst readConfigJSON5 = makeStaticFileCache((filepath, content): ConfigFile => {\n let options;\n try {\n options = json5.parse(content);\n } catch (err) {\n throw new ConfigError(\n `Error while parsing config - ${err.message}`,\n filepath,\n );\n }\n\n if (!options) throw new ConfigError(`No config detected`, filepath);\n\n if (typeof options !== \"object\") {\n throw new ConfigError(`Config returned typeof ${typeof options}`, filepath);\n }\n if (Array.isArray(options)) {\n throw new ConfigError(`Expected config object but found array`, filepath);\n }\n\n delete options[\"$schema\"];\n\n return {\n filepath,\n dirname: path.dirname(filepath),\n options,\n };\n});\n\nconst readIgnoreConfig = makeStaticFileCache((filepath, content) => {\n const ignoreDir = path.dirname(filepath);\n const ignorePatterns = content\n .split(\"\\n\")\n .map(line => line.replace(/#(.*?)$/, \"\").trim())\n .filter(line => !!line);\n\n for (const pattern of ignorePatterns) {\n if (pattern[0] === \"!\") {\n throw new ConfigError(\n `Negation of file paths is not supported.`,\n filepath,\n );\n }\n }\n\n return {\n filepath,\n dirname: path.dirname(filepath),\n ignore: ignorePatterns.map(pattern =>\n pathPatternToRegex(pattern, ignoreDir),\n ),\n };\n});\n\nexport function findConfigUpwards(rootDir: string): string | null {\n let dirname = rootDir;\n for (;;) {\n for (const filename of ROOT_CONFIG_FILENAMES) {\n if (nodeFs.existsSync(path.join(dirname, filename))) {\n return dirname;\n }\n }\n\n const nextDir = path.dirname(dirname);\n if (dirname === nextDir) break;\n dirname = nextDir;\n }\n\n return null;\n}\n\nexport function* findRelativeConfig(\n packageData: FilePackageData,\n envName: string,\n caller: CallerMetadata | undefined,\n): Handler {\n let config = null;\n let ignore = null;\n\n const dirname = path.dirname(packageData.filepath);\n\n for (const loc of packageData.directories) {\n if (!config) {\n config = yield* loadOneConfig(\n RELATIVE_CONFIG_FILENAMES,\n loc,\n envName,\n caller,\n packageData.pkg?.dirname === loc\n ? packageToBabelConfig(packageData.pkg)\n : null,\n );\n }\n\n if (!ignore) {\n const ignoreLoc = path.join(loc, BABELIGNORE_FILENAME);\n ignore = yield* readIgnoreConfig(ignoreLoc);\n\n if (ignore) {\n debug(\"Found ignore %o from %o.\", ignore.filepath, dirname);\n }\n }\n }\n\n return { config, ignore };\n}\n\nexport function findRootConfig(\n dirname: string,\n envName: string,\n caller: CallerMetadata | undefined,\n): Handler {\n return loadOneConfig(ROOT_CONFIG_FILENAMES, dirname, envName, caller);\n}\n\nfunction* loadOneConfig(\n names: string[],\n dirname: string,\n envName: string,\n caller: CallerMetadata | undefined,\n previousConfig: ConfigFile | null = null,\n): Handler {\n const configs = yield* gensync.all(\n names.map(filename =>\n readConfig(path.join(dirname, filename), envName, caller),\n ),\n );\n const config = configs.reduce((previousConfig: ConfigFile | null, config) => {\n if (config && previousConfig) {\n throw new ConfigError(\n `Multiple configuration files found. Please remove one:\\n` +\n ` - ${path.basename(previousConfig.filepath)}\\n` +\n ` - ${config.filepath}\\n` +\n `from ${dirname}`,\n );\n }\n\n return config || previousConfig;\n }, previousConfig);\n\n if (config) {\n debug(\"Found configuration %o from %o.\", config.filepath, dirname);\n }\n return config;\n}\n\nexport function* loadConfig(\n name: string,\n dirname: string,\n envName: string,\n caller: CallerMetadata | undefined,\n): Handler {\n const filepath = require.resolve(name, { paths: [dirname] });\n\n const conf = yield* readConfig(filepath, envName, caller);\n if (!conf) {\n throw new ConfigError(\n `Config file contains no configuration data`,\n filepath,\n );\n }\n\n debug(\"Loaded config %o from %o.\", name, dirname);\n return conf;\n}\n\n/**\n * Read the given config file, returning the result. Returns null if no config was found, but will\n * throw if there are parsing errors while loading a config.\n */\nfunction readConfig(\n filepath: string,\n envName: string,\n caller: CallerMetadata | undefined,\n): Handler {\n const ext = path.extname(filepath);\n switch (ext) {\n case \".js\":\n case \".cjs\":\n case \".mjs\":\n case \".cts\":\n return readConfigCode(filepath, { envName, caller });\n default:\n return readConfigJSON5(filepath);\n }\n}\n\nexport function* resolveShowConfigPath(\n dirname: string,\n): Handler {\n const targetPath = process.env.BABEL_SHOW_CONFIG_FOR;\n if (targetPath != null) {\n const absolutePath = path.resolve(dirname, targetPath);\n const stats = yield* fs.stat(absolutePath);\n if (!stats.isFile()) {\n throw new Error(\n `${absolutePath}: BABEL_SHOW_CONFIG_FOR must refer to a regular file, directories are not supported.`,\n );\n }\n return absolutePath;\n }\n return null;\n}\n\nfunction throwConfigError(filepath: string): never {\n throw new ConfigError(\n `\\\nCaching was left unconfigured. Babel's plugins, presets, and .babelrc.js files can be configured\nfor various types of caching, using the first param of their handler functions:\n\nmodule.exports = function(api) {\n // The API exposes the following:\n\n // Cache the returned value forever and don't call this function again.\n api.cache(true);\n\n // Don't cache at all. Not recommended because it will be very slow.\n api.cache(false);\n\n // Cached based on the value of some function. If this function returns a value different from\n // a previously-encountered value, the plugins will re-evaluate.\n var env = api.cache(() => process.env.NODE_ENV);\n\n // If testing for a specific env, we recommend specifics to avoid instantiating a plugin for\n // any possible NODE_ENV value that might come up during plugin execution.\n var isProd = api.cache(() => process.env.NODE_ENV === \"production\");\n\n // .cache(fn) will perform a linear search though instances to find the matching plugin based\n // based on previous instantiated plugins. If you want to recreate the plugin and discard the\n // previous instance whenever something changes, you may use:\n var isProd = api.cache.invalidate(() => process.env.NODE_ENV === \"production\");\n\n // Note, we also expose the following more-verbose versions of the above examples:\n api.cache.forever(); // api.cache(true)\n api.cache.never(); // api.cache(false)\n api.cache.using(fn); // api.cache(fn)\n\n // Return the value that will be cached.\n return { };\n};`,\n filepath,\n );\n}\n"],"mappings":";;;;;;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,IAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,GAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,MAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,KAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,MAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,KAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,SAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,QAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAM,QAAA,GAAAL,OAAA;AAEA,IAAAM,UAAA,GAAAN,OAAA;AAEA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AAGA,IAAAU,YAAA,GAAAV,OAAA;AAEA,IAAAW,EAAA,GAAAX,OAAA;AAGA,IAAAY,kBAAA,GAAAZ,OAAA;AAGA,MAAMa,KAAK,GAAGC,QAAU,CAAC,0CAA0C,CAAC;AAE7D,MAAMC,qBAAqB,GAAG,CACnC,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,CACnB;AAACC,OAAA,CAAAD,qBAAA,GAAAA,qBAAA;AACF,MAAME,yBAAyB,GAAG,CAChC,UAAU,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,CACf;AAED,MAAMC,oBAAoB,GAAG,cAAc;AAE3C,MAAMC,eAAe,GAAG,IAAIC,GAAG,EAAE;AAEjC,MAAMC,cAAc,GAAG,IAAAC,wBAAe,EAAC,UAAUD,cAAcA,CAC7DE,QAAgB,EAChBC,KAGE,EAC0B;EAC5B,IAAI,CAACC,KAAM,CAACC,UAAU,CAACH,QAAQ,CAAC,EAAE;IAChCC,KAAK,CAACG,KAAK,EAAE;IACb,OAAO,IAAI;EACb;EAKA,IAAIR,eAAe,CAACS,GAAG,CAACL,QAAQ,CAAC,EAAE;IACjCC,KAAK,CAACG,KAAK,EAAE;IAEbd,KAAK,CAAC,mCAAmC,EAAEU,QAAQ,CAAC;IACpD,OAAO;MACLA,QAAQ;MACRM,OAAO,EAAEC,OAAI,CAACD,OAAO,CAACN,QAAQ,CAAC;MAC/BQ,OAAO,EAAE,CAAC;IACZ,CAAC;EACH;EAEA,IAAIA,OAAgB;EACpB,IAAI;IACFZ,eAAe,CAACa,GAAG,CAACT,QAAQ,CAAC;IAC7BQ,OAAO,GAAG,OAAO,IAAAE,oBAAe,EAC9BV,QAAQ,EACR,kEAAkE,GAChE,kEAAkE,CACrE;EACH,CAAC,SAAS;IACRJ,eAAe,CAACe,MAAM,CAACX,QAAQ,CAAC;EAClC;EAEA,IAAIY,WAAW,GAAG,KAAK;EACvB,IAAI,OAAOJ,OAAO,KAAK,UAAU,EAAE;IAEjC,OAAO,EAAE;IAETA,OAAO,GAAG,IAAAK,qCAAkB,EAACL,OAAO,CAAkC,CACpE,IAAAM,wBAAa,EAACb,KAAK,CAAC,CACrB;IAEDW,WAAW,GAAG,IAAI;EACpB;EAEA,IAAI,CAACJ,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,IAAIO,KAAK,CAACC,OAAO,CAACR,OAAO,CAAC,EAAE;IACrE,MAAM,IAAIS,oBAAW,CAClB,wDAAuD,EACxDjB,QAAQ,CACT;EACH;EAGA,IAAI,OAAOQ,OAAO,CAACU,IAAI,KAAK,UAAU,EAAE;IACtC,MAAM,IAAID,oBAAW,CAClB,iDAAgD,GAC9C,wDAAuD,GACvD,6CAA4C,GAC5C,oEAAmE,GACnE,0EAAyE,EAC5EjB,QAAQ,CACT;EACH;EAEA,IAAIY,WAAW,IAAI,CAACX,KAAK,CAACkB,UAAU,EAAE,EAAEC,gBAAgB,CAACpB,QAAQ,CAAC;EAElE,OAAO;IACLA,QAAQ;IACRM,OAAO,EAAEC,OAAI,CAACD,OAAO,CAACN,QAAQ,CAAC;IAC/BQ;EACF,CAAC;AACH,CAAC,CAAC;AAEF,MAAMa,oBAAoB,GAAG,IAAAC,0BAAiB,EAC3CC,IAAgB,IAAwB;EACvC,MAAMC,KAAc,GAAGD,IAAI,CAACf,OAAO,CAAC,OAAO,CAAC;EAE5C,IAAI,OAAOgB,KAAK,KAAK,WAAW,EAAE,OAAO,IAAI;EAE7C,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIT,KAAK,CAACC,OAAO,CAACQ,KAAK,CAAC,IAAIA,KAAK,KAAK,IAAI,EAAE;IACvE,MAAM,IAAIP,oBAAW,CAAE,mCAAkC,EAAEM,IAAI,CAACvB,QAAQ,CAAC;EAC3E;EAEA,OAAO;IACLA,QAAQ,EAAEuB,IAAI,CAACvB,QAAQ;IACvBM,OAAO,EAAEiB,IAAI,CAACjB,OAAO;IACrBE,OAAO,EAAEgB;EACX,CAAC;AACH,CAAC,CACF;AAED,MAAMC,eAAe,GAAG,IAAAC,0BAAmB,EAAC,CAAC1B,QAAQ,EAAE2B,OAAO,KAAiB;EAC7E,IAAInB,OAAO;EACX,IAAI;IACFA,OAAO,GAAGoB,OAAK,CAACC,KAAK,CAACF,OAAO,CAAC;EAChC,CAAC,CAAC,OAAOG,GAAG,EAAE;IACZ,MAAM,IAAIb,oBAAW,CAClB,gCAA+Ba,GAAG,CAACC,OAAQ,EAAC,EAC7C/B,QAAQ,CACT;EACH;EAEA,IAAI,CAACQ,OAAO,EAAE,MAAM,IAAIS,oBAAW,CAAE,oBAAmB,EAAEjB,QAAQ,CAAC;EAEnE,IAAI,OAAOQ,OAAO,KAAK,QAAQ,EAAE;IAC/B,MAAM,IAAIS,oBAAW,CAAE,0BAAyB,OAAOT,OAAQ,EAAC,EAAER,QAAQ,CAAC;EAC7E;EACA,IAAIe,KAAK,CAACC,OAAO,CAACR,OAAO,CAAC,EAAE;IAC1B,MAAM,IAAIS,oBAAW,CAAE,wCAAuC,EAAEjB,QAAQ,CAAC;EAC3E;EAEA,OAAOQ,OAAO,CAAC,SAAS,CAAC;EAEzB,OAAO;IACLR,QAAQ;IACRM,OAAO,EAAEC,OAAI,CAACD,OAAO,CAACN,QAAQ,CAAC;IAC/BQ;EACF,CAAC;AACH,CAAC,CAAC;AAEF,MAAMwB,gBAAgB,GAAG,IAAAN,0BAAmB,EAAC,CAAC1B,QAAQ,EAAE2B,OAAO,KAAK;EAClE,MAAMM,SAAS,GAAG1B,OAAI,CAACD,OAAO,CAACN,QAAQ,CAAC;EACxC,MAAMkC,cAAc,GAAGP,OAAO,CAC3BQ,KAAK,CAAC,IAAI,CAAC,CACXC,GAAG,CAASC,IAAI,IAAIA,IAAI,CAACC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAACC,IAAI,EAAE,CAAC,CACvDC,MAAM,CAACH,IAAI,IAAI,CAAC,CAACA,IAAI,CAAC;EAEzB,KAAK,MAAMI,OAAO,IAAIP,cAAc,EAAE;IACpC,IAAIO,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;MACtB,MAAM,IAAIxB,oBAAW,CAClB,0CAAyC,EAC1CjB,QAAQ,CACT;IACH;EACF;EAEA,OAAO;IACLA,QAAQ;IACRM,OAAO,EAAEC,OAAI,CAACD,OAAO,CAACN,QAAQ,CAAC;IAC/B0C,MAAM,EAAER,cAAc,CAACE,GAAG,CAACK,OAAO,IAChC,IAAAE,uBAAkB,EAACF,OAAO,EAAER,SAAS,CAAC;EAE1C,CAAC;AACH,CAAC,CAAC;AAEK,SAASW,iBAAiBA,CAACC,OAAe,EAAiB;EAChE,IAAIvC,OAAO,GAAGuC,OAAO;EACrB,SAAS;IACP,KAAK,MAAMC,QAAQ,IAAItD,qBAAqB,EAAE;MAC5C,IAAIU,KAAM,CAACC,UAAU,CAACI,OAAI,CAACwC,IAAI,CAACzC,OAAO,EAAEwC,QAAQ,CAAC,CAAC,EAAE;QACnD,OAAOxC,OAAO;MAChB;IACF;IAEA,MAAM0C,OAAO,GAAGzC,OAAI,CAACD,OAAO,CAACA,OAAO,CAAC;IACrC,IAAIA,OAAO,KAAK0C,OAAO,EAAE;IACzB1C,OAAO,GAAG0C,OAAO;EACnB;EAEA,OAAO,IAAI;AACb;AAEO,UAAUC,kBAAkBA,CACjCC,WAA4B,EAC5BC,OAAe,EACfC,MAAkC,EACT;EACzB,IAAIC,MAAM,GAAG,IAAI;EACjB,IAAIX,MAAM,GAAG,IAAI;EAEjB,MAAMpC,OAAO,GAAGC,OAAI,CAACD,OAAO,CAAC4C,WAAW,CAAClD,QAAQ,CAAC;EAElD,KAAK,MAAMsD,GAAG,IAAIJ,WAAW,CAACK,WAAW,EAAE;IACzC,IAAI,CAACF,MAAM,EAAE;MAAA,IAAAG,gBAAA;MACXH,MAAM,GAAG,OAAOI,aAAa,CAC3B/D,yBAAyB,EACzB4D,GAAG,EACHH,OAAO,EACPC,MAAM,EACN,EAAAI,gBAAA,GAAAN,WAAW,CAACQ,GAAG,qBAAfF,gBAAA,CAAiBlD,OAAO,MAAKgD,GAAG,GAC5BjC,oBAAoB,CAAC6B,WAAW,CAACQ,GAAG,CAAC,GACrC,IAAI,CACT;IACH;IAEA,IAAI,CAAChB,MAAM,EAAE;MACX,MAAMiB,SAAS,GAAGpD,OAAI,CAACwC,IAAI,CAACO,GAAG,EAAE3D,oBAAoB,CAAC;MACtD+C,MAAM,GAAG,OAAOV,gBAAgB,CAAC2B,SAAS,CAAC;MAE3C,IAAIjB,MAAM,EAAE;QACVpD,KAAK,CAAC,0BAA0B,EAAEoD,MAAM,CAAC1C,QAAQ,EAAEM,OAAO,CAAC;MAC7D;IACF;EACF;EAEA,OAAO;IAAE+C,MAAM;IAAEX;EAAO,CAAC;AAC3B;AAEO,SAASkB,cAAcA,CAC5BtD,OAAe,EACf6C,OAAe,EACfC,MAAkC,EACN;EAC5B,OAAOK,aAAa,CAACjE,qBAAqB,EAAEc,OAAO,EAAE6C,OAAO,EAAEC,MAAM,CAAC;AACvE;AAEA,UAAUK,aAAaA,CACrBI,KAAe,EACfvD,OAAe,EACf6C,OAAe,EACfC,MAAkC,EAClCU,cAAiC,GAAG,IAAI,EACZ;EAC5B,MAAMC,OAAO,GAAG,OAAOC,UAAO,CAACC,GAAG,CAChCJ,KAAK,CAACzB,GAAG,CAACU,QAAQ,IAChBoB,UAAU,CAAC3D,OAAI,CAACwC,IAAI,CAACzC,OAAO,EAAEwC,QAAQ,CAAC,EAAEK,OAAO,EAAEC,MAAM,CAAC,CAC1D,CACF;EACD,MAAMC,MAAM,GAAGU,OAAO,CAACI,MAAM,CAAC,CAACL,cAAiC,EAAET,MAAM,KAAK;IAC3E,IAAIA,MAAM,IAAIS,cAAc,EAAE;MAC5B,MAAM,IAAI7C,oBAAW,CAClB,0DAAyD,GACvD,MAAKV,OAAI,CAAC6D,QAAQ,CAACN,cAAc,CAAC9D,QAAQ,CAAE,IAAG,GAC/C,MAAKqD,MAAM,CAACrD,QAAS,IAAG,GACxB,QAAOM,OAAQ,EAAC,CACpB;IACH;IAEA,OAAO+C,MAAM,IAAIS,cAAc;EACjC,CAAC,EAAEA,cAAc,CAAC;EAElB,IAAIT,MAAM,EAAE;IACV/D,KAAK,CAAC,iCAAiC,EAAE+D,MAAM,CAACrD,QAAQ,EAAEM,OAAO,CAAC;EACpE;EACA,OAAO+C,MAAM;AACf;AAEO,UAAUgB,UAAUA,CACzBC,IAAY,EACZhE,OAAe,EACf6C,OAAe,EACfC,MAAkC,EACb;EACrB,MAAMpD,QAAQ,GAAG,GAAAuE,CAAA,EAAAC,CAAA,MAAAD,CAAA,GAAAA,CAAA,CAAApC,KAAA,OAAAqC,CAAA,GAAAA,CAAA,CAAArC,KAAA,QAAAoC,CAAA,OAAAC,CAAA,OAAAD,CAAA,OAAAC,CAAA,QAAAD,CAAA,QAAAC,CAAA,MAAAC,OAAA,CAAAC,QAAA,CAAAC,IAAA,WAAAlG,OAAA,CAAAmG,OAAA,IAAAC,CAAA;IAAAC,KAAA,GAAAC,CAAA;EAAA,GAAAC,CAAA,GAAAvG,OAAA;IAAA,IAAAwG,CAAA,GAAAD,CAAA,CAAAE,SAAA,CAAAL,CAAA,EAAAG,CAAA,CAAAG,gBAAA,CAAAJ,CAAA,EAAAK,MAAA,CAAAL,CAAA;IAAA,IAAAE,CAAA,SAAAA,CAAA;IAAAA,CAAA,OAAAI,KAAA,2BAAAR,CAAA;IAAAI,CAAA,CAAAK,IAAA;IAAA,MAAAL,CAAA;EAAA,GAAgBX,IAAI,EAAE;IAAEQ,KAAK,EAAE,CAACxE,OAAO;EAAE,CAAC,CAAC;EAE5D,MAAMiF,IAAI,GAAG,OAAOrB,UAAU,CAAClE,QAAQ,EAAEmD,OAAO,EAAEC,MAAM,CAAC;EACzD,IAAI,CAACmC,IAAI,EAAE;IACT,MAAM,IAAItE,oBAAW,CAClB,4CAA2C,EAC5CjB,QAAQ,CACT;EACH;EAEAV,KAAK,CAAC,2BAA2B,EAAEgF,IAAI,EAAEhE,OAAO,CAAC;EACjD,OAAOiF,IAAI;AACb;AAMA,SAASrB,UAAUA,CACjBlE,QAAgB,EAChBmD,OAAe,EACfC,MAAkC,EACN;EAC5B,MAAMoC,GAAG,GAAGjF,OAAI,CAACkF,OAAO,CAACzF,QAAQ,CAAC;EAClC,QAAQwF,GAAG;IACT,KAAK,KAAK;IACV,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;MACT,OAAO1F,cAAc,CAACE,QAAQ,EAAE;QAAEmD,OAAO;QAAEC;MAAO,CAAC,CAAC;IACtD;MACE,OAAO3B,eAAe,CAACzB,QAAQ,CAAC;EAAC;AAEvC;AAEO,UAAU0F,qBAAqBA,CACpCpF,OAAe,EACS;EACxB,MAAMqF,UAAU,GAAGlB,OAAO,CAACmB,GAAG,CAACC,qBAAqB;EACpD,IAAIF,UAAU,IAAI,IAAI,EAAE;IACtB,MAAMG,YAAY,GAAGvF,OAAI,CAACqE,OAAO,CAACtE,OAAO,EAAEqF,UAAU,CAAC;IACtD,MAAMI,KAAK,GAAG,OAAO3G,EAAE,CAAC4G,IAAI,CAACF,YAAY,CAAC;IAC1C,IAAI,CAACC,KAAK,CAACE,MAAM,EAAE,EAAE;MACnB,MAAM,IAAIZ,KAAK,CACZ,GAAES,YAAa,sFAAqF,CACtG;IACH;IACA,OAAOA,YAAY;EACrB;EACA,OAAO,IAAI;AACb;AAEA,SAAS1E,gBAAgBA,CAACpB,QAAgB,EAAS;EACjD,MAAM,IAAIiB,oBAAW,CAClB;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,EACCjB,QAAQ,CACT;AACH;AAAC"} \ No newline at end of file +{"version":3,"names":["_debug","data","require","_fs","_path","_json","_gensync","_caching","_configApi","_utils","_moduleTypes","_patternToRegex","_configError","fs","_rewriteStackTrace","debug","buildDebug","ROOT_CONFIG_FILENAMES","exports","RELATIVE_CONFIG_FILENAMES","BABELIGNORE_FILENAME","LOADING_CONFIGS","Set","readConfigCode","makeStrongCache","filepath","cache","nodeFs","existsSync","never","has","dirname","path","options","add","loadCodeDefault","delete","assertCache","endHiddenCallStack","makeConfigAPI","Array","isArray","ConfigError","then","configured","throwConfigError","packageToBabelConfig","makeWeakCacheSync","file","babel","readConfigJSON5","makeStaticFileCache","content","json5","parse","err","message","readIgnoreConfig","ignoreDir","ignorePatterns","split","map","line","replace","trim","filter","pattern","ignore","pathPatternToRegex","findConfigUpwards","rootDir","filename","join","nextDir","findRelativeConfig","packageData","envName","caller","config","loc","directories","_packageData$pkg","loadOneConfig","pkg","ignoreLoc","findRootConfig","names","previousConfig","configs","gensync","all","readConfig","reduce","basename","loadConfig","name","v","w","process","versions","node","resolve","r","paths","b","M","f","_findPath","_nodeModulePaths","concat","Error","code","conf","ext","extname","resolveShowConfigPath","targetPath","env","BABEL_SHOW_CONFIG_FOR","absolutePath","stats","stat","isFile"],"sources":["../../../src/config/files/configuration.ts"],"sourcesContent":["import buildDebug from \"debug\";\nimport nodeFs from \"fs\";\nimport path from \"path\";\nimport json5 from \"json5\";\nimport gensync from \"gensync\";\nimport type { Handler } from \"gensync\";\nimport { makeStrongCache, makeWeakCacheSync } from \"../caching\";\nimport type { CacheConfigurator } from \"../caching\";\nimport { makeConfigAPI } from \"../helpers/config-api\";\nimport type { ConfigAPI } from \"../helpers/config-api\";\nimport { makeStaticFileCache } from \"./utils\";\nimport loadCodeDefault from \"./module-types\";\nimport pathPatternToRegex from \"../pattern-to-regex\";\nimport type { FilePackageData, RelativeConfig, ConfigFile } from \"./types\";\nimport type { CallerMetadata } from \"../validation/options\";\nimport ConfigError from \"../../errors/config-error\";\n\nimport * as fs from \"../../gensync-utils/fs\";\n\nimport { createRequire } from \"module\";\nimport { endHiddenCallStack } from \"../../errors/rewrite-stack-trace\";\nconst require = createRequire(import.meta.url);\n\nconst debug = buildDebug(\"babel:config:loading:files:configuration\");\n\nexport const ROOT_CONFIG_FILENAMES = [\n \"babel.config.js\",\n \"babel.config.cjs\",\n \"babel.config.mjs\",\n \"babel.config.json\",\n \"babel.config.cts\",\n];\nconst RELATIVE_CONFIG_FILENAMES = [\n \".babelrc\",\n \".babelrc.js\",\n \".babelrc.cjs\",\n \".babelrc.mjs\",\n \".babelrc.json\",\n \".babelrc.cts\",\n];\n\nconst BABELIGNORE_FILENAME = \".babelignore\";\n\nconst LOADING_CONFIGS = new Set();\n\nconst readConfigCode = makeStrongCache(function* readConfigCode(\n filepath: string,\n cache: CacheConfigurator<{\n envName: string;\n caller: CallerMetadata | undefined;\n }>,\n): Handler {\n if (!nodeFs.existsSync(filepath)) {\n cache.never();\n return null;\n }\n\n // The `require()` call below can make this code reentrant if a require hook like @babel/register has been\n // loaded into the system. That would cause Babel to attempt to compile the `.babelrc.js` file as it loads\n // below. To cover this case, we auto-ignore re-entrant config processing.\n if (LOADING_CONFIGS.has(filepath)) {\n cache.never();\n\n debug(\"Auto-ignoring usage of config %o.\", filepath);\n return {\n filepath,\n dirname: path.dirname(filepath),\n options: {},\n };\n }\n\n let options: unknown;\n try {\n LOADING_CONFIGS.add(filepath);\n options = yield* loadCodeDefault(\n filepath,\n \"You appear to be using a native ECMAScript module configuration \" +\n \"file, which is only supported when running Babel asynchronously.\",\n );\n } finally {\n LOADING_CONFIGS.delete(filepath);\n }\n\n let assertCache = false;\n if (typeof options === \"function\") {\n // @ts-expect-error - if we want to make it possible to use async configs\n yield* [];\n\n options = endHiddenCallStack(options as any as (api: ConfigAPI) => {})(\n makeConfigAPI(cache),\n );\n\n assertCache = true;\n }\n\n if (!options || typeof options !== \"object\" || Array.isArray(options)) {\n throw new ConfigError(\n `Configuration should be an exported JavaScript object.`,\n filepath,\n );\n }\n\n // @ts-expect-error todo(flow->ts)\n if (typeof options.then === \"function\") {\n throw new ConfigError(\n `You appear to be using an async configuration, ` +\n `which your current version of Babel does not support. ` +\n `We may add support for this in the future, ` +\n `but if you're on the most recent version of @babel/core and still ` +\n `seeing this error, then you'll need to synchronously return your config.`,\n filepath,\n );\n }\n\n if (assertCache && !cache.configured()) throwConfigError(filepath);\n\n return {\n filepath,\n dirname: path.dirname(filepath),\n options,\n };\n});\n\nconst packageToBabelConfig = makeWeakCacheSync(\n (file: ConfigFile): ConfigFile | null => {\n const babel: unknown = file.options[\"babel\"];\n\n if (typeof babel === \"undefined\") return null;\n\n if (typeof babel !== \"object\" || Array.isArray(babel) || babel === null) {\n throw new ConfigError(`.babel property must be an object`, file.filepath);\n }\n\n return {\n filepath: file.filepath,\n dirname: file.dirname,\n options: babel,\n };\n },\n);\n\nconst readConfigJSON5 = makeStaticFileCache((filepath, content): ConfigFile => {\n let options;\n try {\n options = json5.parse(content);\n } catch (err) {\n throw new ConfigError(\n `Error while parsing config - ${err.message}`,\n filepath,\n );\n }\n\n if (!options) throw new ConfigError(`No config detected`, filepath);\n\n if (typeof options !== \"object\") {\n throw new ConfigError(`Config returned typeof ${typeof options}`, filepath);\n }\n if (Array.isArray(options)) {\n throw new ConfigError(`Expected config object but found array`, filepath);\n }\n\n delete options[\"$schema\"];\n\n return {\n filepath,\n dirname: path.dirname(filepath),\n options,\n };\n});\n\nconst readIgnoreConfig = makeStaticFileCache((filepath, content) => {\n const ignoreDir = path.dirname(filepath);\n const ignorePatterns = content\n .split(\"\\n\")\n .map(line => line.replace(/#(.*?)$/, \"\").trim())\n .filter(line => !!line);\n\n for (const pattern of ignorePatterns) {\n if (pattern[0] === \"!\") {\n throw new ConfigError(\n `Negation of file paths is not supported.`,\n filepath,\n );\n }\n }\n\n return {\n filepath,\n dirname: path.dirname(filepath),\n ignore: ignorePatterns.map(pattern =>\n pathPatternToRegex(pattern, ignoreDir),\n ),\n };\n});\n\nexport function findConfigUpwards(rootDir: string): string | null {\n let dirname = rootDir;\n for (;;) {\n for (const filename of ROOT_CONFIG_FILENAMES) {\n if (nodeFs.existsSync(path.join(dirname, filename))) {\n return dirname;\n }\n }\n\n const nextDir = path.dirname(dirname);\n if (dirname === nextDir) break;\n dirname = nextDir;\n }\n\n return null;\n}\n\nexport function* findRelativeConfig(\n packageData: FilePackageData,\n envName: string,\n caller: CallerMetadata | undefined,\n): Handler {\n let config = null;\n let ignore = null;\n\n const dirname = path.dirname(packageData.filepath);\n\n for (const loc of packageData.directories) {\n if (!config) {\n config = yield* loadOneConfig(\n RELATIVE_CONFIG_FILENAMES,\n loc,\n envName,\n caller,\n packageData.pkg?.dirname === loc\n ? packageToBabelConfig(packageData.pkg)\n : null,\n );\n }\n\n if (!ignore) {\n const ignoreLoc = path.join(loc, BABELIGNORE_FILENAME);\n ignore = yield* readIgnoreConfig(ignoreLoc);\n\n if (ignore) {\n debug(\"Found ignore %o from %o.\", ignore.filepath, dirname);\n }\n }\n }\n\n return { config, ignore };\n}\n\nexport function findRootConfig(\n dirname: string,\n envName: string,\n caller: CallerMetadata | undefined,\n): Handler {\n return loadOneConfig(ROOT_CONFIG_FILENAMES, dirname, envName, caller);\n}\n\nfunction* loadOneConfig(\n names: string[],\n dirname: string,\n envName: string,\n caller: CallerMetadata | undefined,\n previousConfig: ConfigFile | null = null,\n): Handler {\n const configs = yield* gensync.all(\n names.map(filename =>\n readConfig(path.join(dirname, filename), envName, caller),\n ),\n );\n const config = configs.reduce((previousConfig: ConfigFile | null, config) => {\n if (config && previousConfig) {\n throw new ConfigError(\n `Multiple configuration files found. Please remove one:\\n` +\n ` - ${path.basename(previousConfig.filepath)}\\n` +\n ` - ${config.filepath}\\n` +\n `from ${dirname}`,\n );\n }\n\n return config || previousConfig;\n }, previousConfig);\n\n if (config) {\n debug(\"Found configuration %o from %o.\", config.filepath, dirname);\n }\n return config;\n}\n\nexport function* loadConfig(\n name: string,\n dirname: string,\n envName: string,\n caller: CallerMetadata | undefined,\n): Handler {\n const filepath = require.resolve(name, { paths: [dirname] });\n\n const conf = yield* readConfig(filepath, envName, caller);\n if (!conf) {\n throw new ConfigError(\n `Config file contains no configuration data`,\n filepath,\n );\n }\n\n debug(\"Loaded config %o from %o.\", name, dirname);\n return conf;\n}\n\n/**\n * Read the given config file, returning the result. Returns null if no config was found, but will\n * throw if there are parsing errors while loading a config.\n */\nfunction readConfig(\n filepath: string,\n envName: string,\n caller: CallerMetadata | undefined,\n): Handler {\n const ext = path.extname(filepath);\n switch (ext) {\n case \".js\":\n case \".cjs\":\n case \".mjs\":\n case \".cts\":\n return readConfigCode(filepath, { envName, caller });\n default:\n return readConfigJSON5(filepath);\n }\n}\n\nexport function* resolveShowConfigPath(\n dirname: string,\n): Handler {\n const targetPath = process.env.BABEL_SHOW_CONFIG_FOR;\n if (targetPath != null) {\n const absolutePath = path.resolve(dirname, targetPath);\n const stats = yield* fs.stat(absolutePath);\n if (!stats.isFile()) {\n throw new Error(\n `${absolutePath}: BABEL_SHOW_CONFIG_FOR must refer to a regular file, directories are not supported.`,\n );\n }\n return absolutePath;\n }\n return null;\n}\n\nfunction throwConfigError(filepath: string): never {\n throw new ConfigError(\n `\\\nCaching was left unconfigured. Babel's plugins, presets, and .babelrc.js files can be configured\nfor various types of caching, using the first param of their handler functions:\n\nmodule.exports = function(api) {\n // The API exposes the following:\n\n // Cache the returned value forever and don't call this function again.\n api.cache(true);\n\n // Don't cache at all. Not recommended because it will be very slow.\n api.cache(false);\n\n // Cached based on the value of some function. If this function returns a value different from\n // a previously-encountered value, the plugins will re-evaluate.\n var env = api.cache(() => process.env.NODE_ENV);\n\n // If testing for a specific env, we recommend specifics to avoid instantiating a plugin for\n // any possible NODE_ENV value that might come up during plugin execution.\n var isProd = api.cache(() => process.env.NODE_ENV === \"production\");\n\n // .cache(fn) will perform a linear search though instances to find the matching plugin based\n // based on previous instantiated plugins. If you want to recreate the plugin and discard the\n // previous instance whenever something changes, you may use:\n var isProd = api.cache.invalidate(() => process.env.NODE_ENV === \"production\");\n\n // Note, we also expose the following more-verbose versions of the above examples:\n api.cache.forever(); // api.cache(true)\n api.cache.never(); // api.cache(false)\n api.cache.using(fn); // api.cache(fn)\n\n // Return the value that will be cached.\n return { };\n};`,\n filepath,\n );\n}\n"],"mappings":";;;;;;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,IAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,GAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,MAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,KAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,MAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,KAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,SAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,QAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAM,QAAA,GAAAL,OAAA;AAEA,IAAAM,UAAA,GAAAN,OAAA;AAEA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AAGA,IAAAU,YAAA,GAAAV,OAAA;AAEA,IAAAW,EAAA,GAAAX,OAAA;AAGA,IAAAY,kBAAA,GAAAZ,OAAA;AAGA,MAAMa,KAAK,GAAGC,OAASA,CAAC,CAAC,0CAA0C,CAAC;AAE7D,MAAMC,qBAAqB,GAAG,CACnC,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,CACnB;AAACC,OAAA,CAAAD,qBAAA,GAAAA,qBAAA;AACF,MAAME,yBAAyB,GAAG,CAChC,UAAU,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,CACf;AAED,MAAMC,oBAAoB,GAAG,cAAc;AAE3C,MAAMC,eAAe,GAAG,IAAIC,GAAG,CAAC,CAAC;AAEjC,MAAMC,cAAc,GAAG,IAAAC,wBAAe,EAAC,UAAUD,cAAcA,CAC7DE,QAAgB,EAChBC,KAGE,EAC0B;EAC5B,IAAI,CAACC,IAAKA,CAAC,CAACC,UAAU,CAACH,QAAQ,CAAC,EAAE;IAChCC,KAAK,CAACG,KAAK,CAAC,CAAC;IACb,OAAO,IAAI;EACb;EAKA,IAAIR,eAAe,CAACS,GAAG,CAACL,QAAQ,CAAC,EAAE;IACjCC,KAAK,CAACG,KAAK,CAAC,CAAC;IAEbd,KAAK,CAAC,mCAAmC,EAAEU,QAAQ,CAAC;IACpD,OAAO;MACLA,QAAQ;MACRM,OAAO,EAAEC,MAAGA,CAAC,CAACD,OAAO,CAACN,QAAQ,CAAC;MAC/BQ,OAAO,EAAE,CAAC;IACZ,CAAC;EACH;EAEA,IAAIA,OAAgB;EACpB,IAAI;IACFZ,eAAe,CAACa,GAAG,CAACT,QAAQ,CAAC;IAC7BQ,OAAO,GAAG,OAAO,IAAAE,oBAAe,EAC9BV,QAAQ,EACR,kEAAkE,GAChE,kEACJ,CAAC;EACH,CAAC,SAAS;IACRJ,eAAe,CAACe,MAAM,CAACX,QAAQ,CAAC;EAClC;EAEA,IAAIY,WAAW,GAAG,KAAK;EACvB,IAAI,OAAOJ,OAAO,KAAK,UAAU,EAAE;IAEjC,OAAO,EAAE;IAETA,OAAO,GAAG,IAAAK,qCAAkB,EAACL,OAAwC,CAAC,CACpE,IAAAM,wBAAa,EAACb,KAAK,CACrB,CAAC;IAEDW,WAAW,GAAG,IAAI;EACpB;EAEA,IAAI,CAACJ,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,IAAIO,KAAK,CAACC,OAAO,CAACR,OAAO,CAAC,EAAE;IACrE,MAAM,IAAIS,oBAAW,CAClB,wDAAuD,EACxDjB,QACF,CAAC;EACH;EAGA,IAAI,OAAOQ,OAAO,CAACU,IAAI,KAAK,UAAU,EAAE;IACtC,MAAM,IAAID,oBAAW,CAClB,iDAAgD,GAC9C,wDAAuD,GACvD,6CAA4C,GAC5C,oEAAmE,GACnE,0EAAyE,EAC5EjB,QACF,CAAC;EACH;EAEA,IAAIY,WAAW,IAAI,CAACX,KAAK,CAACkB,UAAU,CAAC,CAAC,EAAEC,gBAAgB,CAACpB,QAAQ,CAAC;EAElE,OAAO;IACLA,QAAQ;IACRM,OAAO,EAAEC,MAAGA,CAAC,CAACD,OAAO,CAACN,QAAQ,CAAC;IAC/BQ;EACF,CAAC;AACH,CAAC,CAAC;AAEF,MAAMa,oBAAoB,GAAG,IAAAC,0BAAiB,EAC3CC,IAAgB,IAAwB;EACvC,MAAMC,KAAc,GAAGD,IAAI,CAACf,OAAO,CAAC,OAAO,CAAC;EAE5C,IAAI,OAAOgB,KAAK,KAAK,WAAW,EAAE,OAAO,IAAI;EAE7C,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIT,KAAK,CAACC,OAAO,CAACQ,KAAK,CAAC,IAAIA,KAAK,KAAK,IAAI,EAAE;IACvE,MAAM,IAAIP,oBAAW,CAAE,mCAAkC,EAAEM,IAAI,CAACvB,QAAQ,CAAC;EAC3E;EAEA,OAAO;IACLA,QAAQ,EAAEuB,IAAI,CAACvB,QAAQ;IACvBM,OAAO,EAAEiB,IAAI,CAACjB,OAAO;IACrBE,OAAO,EAAEgB;EACX,CAAC;AACH,CACF,CAAC;AAED,MAAMC,eAAe,GAAG,IAAAC,0BAAmB,EAAC,CAAC1B,QAAQ,EAAE2B,OAAO,KAAiB;EAC7E,IAAInB,OAAO;EACX,IAAI;IACFA,OAAO,GAAGoB,MAAIA,CAAC,CAACC,KAAK,CAACF,OAAO,CAAC;EAChC,CAAC,CAAC,OAAOG,GAAG,EAAE;IACZ,MAAM,IAAIb,oBAAW,CAClB,gCAA+Ba,GAAG,CAACC,OAAQ,EAAC,EAC7C/B,QACF,CAAC;EACH;EAEA,IAAI,CAACQ,OAAO,EAAE,MAAM,IAAIS,oBAAW,CAAE,oBAAmB,EAAEjB,QAAQ,CAAC;EAEnE,IAAI,OAAOQ,OAAO,KAAK,QAAQ,EAAE;IAC/B,MAAM,IAAIS,oBAAW,CAAE,0BAAyB,OAAOT,OAAQ,EAAC,EAAER,QAAQ,CAAC;EAC7E;EACA,IAAIe,KAAK,CAACC,OAAO,CAACR,OAAO,CAAC,EAAE;IAC1B,MAAM,IAAIS,oBAAW,CAAE,wCAAuC,EAAEjB,QAAQ,CAAC;EAC3E;EAEA,OAAOQ,OAAO,CAAC,SAAS,CAAC;EAEzB,OAAO;IACLR,QAAQ;IACRM,OAAO,EAAEC,MAAGA,CAAC,CAACD,OAAO,CAACN,QAAQ,CAAC;IAC/BQ;EACF,CAAC;AACH,CAAC,CAAC;AAEF,MAAMwB,gBAAgB,GAAG,IAAAN,0BAAmB,EAAC,CAAC1B,QAAQ,EAAE2B,OAAO,KAAK;EAClE,MAAMM,SAAS,GAAG1B,MAAGA,CAAC,CAACD,OAAO,CAACN,QAAQ,CAAC;EACxC,MAAMkC,cAAc,GAAGP,OAAO,CAC3BQ,KAAK,CAAC,IAAI,CAAC,CACXC,GAAG,CAASC,IAAI,IAAIA,IAAI,CAACC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,CACvDC,MAAM,CAACH,IAAI,IAAI,CAAC,CAACA,IAAI,CAAC;EAEzB,KAAK,MAAMI,OAAO,IAAIP,cAAc,EAAE;IACpC,IAAIO,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;MACtB,MAAM,IAAIxB,oBAAW,CAClB,0CAAyC,EAC1CjB,QACF,CAAC;IACH;EACF;EAEA,OAAO;IACLA,QAAQ;IACRM,OAAO,EAAEC,MAAGA,CAAC,CAACD,OAAO,CAACN,QAAQ,CAAC;IAC/B0C,MAAM,EAAER,cAAc,CAACE,GAAG,CAACK,OAAO,IAChC,IAAAE,uBAAkB,EAACF,OAAO,EAAER,SAAS,CACvC;EACF,CAAC;AACH,CAAC,CAAC;AAEK,SAASW,iBAAiBA,CAACC,OAAe,EAAiB;EAChE,IAAIvC,OAAO,GAAGuC,OAAO;EACrB,SAAS;IACP,KAAK,MAAMC,QAAQ,IAAItD,qBAAqB,EAAE;MAC5C,IAAIU,IAAKA,CAAC,CAACC,UAAU,CAACI,MAAGA,CAAC,CAACwC,IAAI,CAACzC,OAAO,EAAEwC,QAAQ,CAAC,CAAC,EAAE;QACnD,OAAOxC,OAAO;MAChB;IACF;IAEA,MAAM0C,OAAO,GAAGzC,MAAGA,CAAC,CAACD,OAAO,CAACA,OAAO,CAAC;IACrC,IAAIA,OAAO,KAAK0C,OAAO,EAAE;IACzB1C,OAAO,GAAG0C,OAAO;EACnB;EAEA,OAAO,IAAI;AACb;AAEO,UAAUC,kBAAkBA,CACjCC,WAA4B,EAC5BC,OAAe,EACfC,MAAkC,EACT;EACzB,IAAIC,MAAM,GAAG,IAAI;EACjB,IAAIX,MAAM,GAAG,IAAI;EAEjB,MAAMpC,OAAO,GAAGC,MAAGA,CAAC,CAACD,OAAO,CAAC4C,WAAW,CAAClD,QAAQ,CAAC;EAElD,KAAK,MAAMsD,GAAG,IAAIJ,WAAW,CAACK,WAAW,EAAE;IACzC,IAAI,CAACF,MAAM,EAAE;MAAA,IAAAG,gBAAA;MACXH,MAAM,GAAG,OAAOI,aAAa,CAC3B/D,yBAAyB,EACzB4D,GAAG,EACHH,OAAO,EACPC,MAAM,EACN,EAAAI,gBAAA,GAAAN,WAAW,CAACQ,GAAG,qBAAfF,gBAAA,CAAiBlD,OAAO,MAAKgD,GAAG,GAC5BjC,oBAAoB,CAAC6B,WAAW,CAACQ,GAAG,CAAC,GACrC,IACN,CAAC;IACH;IAEA,IAAI,CAAChB,MAAM,EAAE;MACX,MAAMiB,SAAS,GAAGpD,MAAGA,CAAC,CAACwC,IAAI,CAACO,GAAG,EAAE3D,oBAAoB,CAAC;MACtD+C,MAAM,GAAG,OAAOV,gBAAgB,CAAC2B,SAAS,CAAC;MAE3C,IAAIjB,MAAM,EAAE;QACVpD,KAAK,CAAC,0BAA0B,EAAEoD,MAAM,CAAC1C,QAAQ,EAAEM,OAAO,CAAC;MAC7D;IACF;EACF;EAEA,OAAO;IAAE+C,MAAM;IAAEX;EAAO,CAAC;AAC3B;AAEO,SAASkB,cAAcA,CAC5BtD,OAAe,EACf6C,OAAe,EACfC,MAAkC,EACN;EAC5B,OAAOK,aAAa,CAACjE,qBAAqB,EAAEc,OAAO,EAAE6C,OAAO,EAAEC,MAAM,CAAC;AACvE;AAEA,UAAUK,aAAaA,CACrBI,KAAe,EACfvD,OAAe,EACf6C,OAAe,EACfC,MAAkC,EAClCU,cAAiC,GAAG,IAAI,EACZ;EAC5B,MAAMC,OAAO,GAAG,OAAOC,SAAMA,CAAC,CAACC,GAAG,CAChCJ,KAAK,CAACzB,GAAG,CAACU,QAAQ,IAChBoB,UAAU,CAAC3D,MAAGA,CAAC,CAACwC,IAAI,CAACzC,OAAO,EAAEwC,QAAQ,CAAC,EAAEK,OAAO,EAAEC,MAAM,CAC1D,CACF,CAAC;EACD,MAAMC,MAAM,GAAGU,OAAO,CAACI,MAAM,CAAC,CAACL,cAAiC,EAAET,MAAM,KAAK;IAC3E,IAAIA,MAAM,IAAIS,cAAc,EAAE;MAC5B,MAAM,IAAI7C,oBAAW,CAClB,0DAAyD,GACvD,MAAKV,MAAGA,CAAC,CAAC6D,QAAQ,CAACN,cAAc,CAAC9D,QAAQ,CAAE,IAAG,GAC/C,MAAKqD,MAAM,CAACrD,QAAS,IAAG,GACxB,QAAOM,OAAQ,EACpB,CAAC;IACH;IAEA,OAAO+C,MAAM,IAAIS,cAAc;EACjC,CAAC,EAAEA,cAAc,CAAC;EAElB,IAAIT,MAAM,EAAE;IACV/D,KAAK,CAAC,iCAAiC,EAAE+D,MAAM,CAACrD,QAAQ,EAAEM,OAAO,CAAC;EACpE;EACA,OAAO+C,MAAM;AACf;AAEO,UAAUgB,UAAUA,CACzBC,IAAY,EACZhE,OAAe,EACf6C,OAAe,EACfC,MAAkC,EACb;EACrB,MAAMpD,QAAQ,GAAG,GAAAuE,CAAA,EAAAC,CAAA,MAAAD,CAAA,GAAAA,CAAA,CAAApC,KAAA,OAAAqC,CAAA,GAAAA,CAAA,CAAArC,KAAA,QAAAoC,CAAA,OAAAC,CAAA,OAAAD,CAAA,OAAAC,CAAA,QAAAD,CAAA,QAAAC,CAAA,MAAAC,OAAA,CAAAC,QAAA,CAAAC,IAAA,WAAAlG,OAAA,CAAAmG,OAAA,IAAAC,CAAA;IAAAC,KAAA,GAAAC,CAAA;EAAA,GAAAC,CAAA,GAAAvG,OAAA;IAAA,IAAAwG,CAAA,GAAAD,CAAA,CAAAE,SAAA,CAAAL,CAAA,EAAAG,CAAA,CAAAG,gBAAA,CAAAJ,CAAA,EAAAK,MAAA,CAAAL,CAAA;IAAA,IAAAE,CAAA,SAAAA,CAAA;IAAAA,CAAA,OAAAI,KAAA,2BAAAR,CAAA;IAAAI,CAAA,CAAAK,IAAA;IAAA,MAAAL,CAAA;EAAA,GAAgBX,IAAI,EAAE;IAAEQ,KAAK,EAAE,CAACxE,OAAO;EAAE,CAAC,CAAC;EAE5D,MAAMiF,IAAI,GAAG,OAAOrB,UAAU,CAAClE,QAAQ,EAAEmD,OAAO,EAAEC,MAAM,CAAC;EACzD,IAAI,CAACmC,IAAI,EAAE;IACT,MAAM,IAAItE,oBAAW,CAClB,4CAA2C,EAC5CjB,QACF,CAAC;EACH;EAEAV,KAAK,CAAC,2BAA2B,EAAEgF,IAAI,EAAEhE,OAAO,CAAC;EACjD,OAAOiF,IAAI;AACb;AAMA,SAASrB,UAAUA,CACjBlE,QAAgB,EAChBmD,OAAe,EACfC,MAAkC,EACN;EAC5B,MAAMoC,GAAG,GAAGjF,MAAGA,CAAC,CAACkF,OAAO,CAACzF,QAAQ,CAAC;EAClC,QAAQwF,GAAG;IACT,KAAK,KAAK;IACV,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;MACT,OAAO1F,cAAc,CAACE,QAAQ,EAAE;QAAEmD,OAAO;QAAEC;MAAO,CAAC,CAAC;IACtD;MACE,OAAO3B,eAAe,CAACzB,QAAQ,CAAC;EACpC;AACF;AAEO,UAAU0F,qBAAqBA,CACpCpF,OAAe,EACS;EACxB,MAAMqF,UAAU,GAAGlB,OAAO,CAACmB,GAAG,CAACC,qBAAqB;EACpD,IAAIF,UAAU,IAAI,IAAI,EAAE;IACtB,MAAMG,YAAY,GAAGvF,MAAGA,CAAC,CAACqE,OAAO,CAACtE,OAAO,EAAEqF,UAAU,CAAC;IACtD,MAAMI,KAAK,GAAG,OAAO3G,EAAE,CAAC4G,IAAI,CAACF,YAAY,CAAC;IAC1C,IAAI,CAACC,KAAK,CAACE,MAAM,CAAC,CAAC,EAAE;MACnB,MAAM,IAAIZ,KAAK,CACZ,GAAES,YAAa,sFAClB,CAAC;IACH;IACA,OAAOA,YAAY;EACrB;EACA,OAAO,IAAI;AACb;AAEA,SAAS1E,gBAAgBA,CAACpB,QAAgB,EAAS;EACjD,MAAM,IAAIiB,oBAAW,CAClB;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,EACCjB,QACF,CAAC;AACH;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/files/import-meta-resolve.js b/node_modules/@babel/core/lib/config/files/import-meta-resolve.js index 84b9a27a9..16eef9cb6 100644 --- a/node_modules/@babel/core/lib/config/files/import-meta-resolve.js +++ b/node_modules/@babel/core/lib/config/files/import-meta-resolve.js @@ -5,21 +5,12 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = resolve; var _importMetaResolve = require("../../vendor/import-meta-resolve"); -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } -function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } -let import_; -try { - import_ = require("./import.cjs"); -} catch (_unused) {} -const importMetaResolveP = import_ && process.execArgv.includes("--experimental-import-meta-resolve") ? import_("data:text/javascript,export default import.meta.resolve").then(m => m.default || _importMetaResolve.resolve, () => _importMetaResolve.resolve) : Promise.resolve(_importMetaResolve.resolve); -function resolve(_x, _x2) { - return _resolve.apply(this, arguments); +let importMetaResolve; +{ + importMetaResolve = _importMetaResolve.resolve; } -function _resolve() { - _resolve = _asyncToGenerator(function* (specifier, parent) { - return (yield importMetaResolveP)(specifier, parent); - }); - return _resolve.apply(this, arguments); +function resolve(specifier, parent) { + return importMetaResolve(specifier, parent); } 0 && 0; diff --git a/node_modules/@babel/core/lib/config/files/import-meta-resolve.js.map b/node_modules/@babel/core/lib/config/files/import-meta-resolve.js.map index feb82e145..9a087f2ae 100644 --- a/node_modules/@babel/core/lib/config/files/import-meta-resolve.js.map +++ b/node_modules/@babel/core/lib/config/files/import-meta-resolve.js.map @@ -1 +1 @@ -{"version":3,"names":["_importMetaResolve","require","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","import_","_unused","importMetaResolveP","process","execArgv","includes","m","default","polyfill","_x","_x2","_resolve","specifier","parent"],"sources":["../../../src/config/files/import-meta-resolve.ts"],"sourcesContent":["import { createRequire } from \"module\";\nimport { resolve as polyfill } from \"../../vendor/import-meta-resolve\";\n\nconst require = createRequire(import.meta.url);\n\nlet import_;\ntry {\n // Node < 13.3 doesn't support import() syntax.\n import_ = require(\"./import.cjs\");\n} catch {}\n\n// import.meta.resolve is only available in ESM, but this file is compiled to CJS.\n// We can extract it using dynamic import.\nconst importMetaResolveP: Promise =\n import_ &&\n // Due to a Node.js/V8 bug (https://github.com/nodejs/node/issues/35889), we cannot\n // use always dynamic import because it segfaults when running in a Node.js `vm` context,\n // which is used by the default Jest environment and by webpack-cli.\n //\n // However, import.meta.resolve is experimental and only enabled when Node.js is run\n // with the `--experimental-import-meta-resolve` flag: we can avoid calling import()\n // when that flag is not enabled, so that the default behavior never segfaults.\n //\n // Hopefully, before Node.js unflags import.meta.resolve, either:\n // - we will move to ESM, so that we have direct access to import.meta.resolve, or\n // - the V8 bug will be fixed so that we can safely use dynamic import by default.\n //\n // I (@nicolo-ribaudo) am really annoyed by this bug, because there is no known\n // work-around other than \"don't use dynamic import if you are running in a `vm` context\",\n // but there is no reliable way to detect it (you cannot try/catch segfaults).\n //\n // This is the only place where we *need* to use dynamic import because we need to access\n // an ES module. All the other places will first try using require() and *then*, if\n // it throws because it's a module, will fallback to import().\n process.execArgv.includes(\"--experimental-import-meta-resolve\")\n ? import_(\"data:text/javascript,export default import.meta.resolve\").then(\n (m: { default: ImportMeta[\"resolve\"] | undefined }) =>\n m.default || polyfill,\n () => polyfill,\n )\n : Promise.resolve(polyfill);\n\nexport default async function resolve(\n specifier: Parameters[0],\n parent?: Parameters[1],\n): ReturnType {\n return (await importMetaResolveP)(specifier, parent);\n}\n"],"mappings":";;;;;;AACA,IAAAA,kBAAA,GAAAC,OAAA;AAAuE,SAAAC,mBAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAAC,GAAA,cAAAC,IAAA,GAAAP,GAAA,CAAAK,GAAA,EAAAC,GAAA,OAAAE,KAAA,GAAAD,IAAA,CAAAC,KAAA,WAAAC,KAAA,IAAAP,MAAA,CAAAO,KAAA,iBAAAF,IAAA,CAAAG,IAAA,IAAAT,OAAA,CAAAO,KAAA,YAAAG,OAAA,CAAAV,OAAA,CAAAO,KAAA,EAAAI,IAAA,CAAAT,KAAA,EAAAC,MAAA;AAAA,SAAAS,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAAN,OAAA,WAAAV,OAAA,EAAAC,MAAA,QAAAF,GAAA,GAAAc,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAb,MAAAK,KAAA,IAAAT,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAI,KAAA,cAAAJ,OAAAe,GAAA,IAAApB,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAe,GAAA,KAAAhB,KAAA,CAAAiB,SAAA;AAIvE,IAAIC,OAAO;AACX,IAAI;EAEFA,OAAO,GAAGvB,OAAO,CAAC,cAAc,CAAC;AACnC,CAAC,CAAC,OAAAwB,OAAA,EAAM,CAAC;AAIT,MAAMC,kBAAkD,GACtDF,OAAO,IAoBPG,OAAO,CAACC,QAAQ,CAACC,QAAQ,CAAC,oCAAoC,CAAC,GAC3DL,OAAO,CAAC,yDAAyD,CAAC,CAACT,IAAI,CACpEe,CAAiD,IAChDA,CAAC,CAACC,OAAO,IAAIC,0BAAQ,EACvB,MAAMA,0BAAQ,CACf,GACDlB,OAAO,CAACV,OAAO,CAAC4B,0BAAQ,CAAC;AAAC,SAEF5B,OAAOA,CAAA6B,EAAA,EAAAC,GAAA;EAAA,OAAAC,QAAA,CAAAd,KAAA,OAAAD,SAAA;AAAA;AAAA,SAAAe,SAAA;EAAAA,QAAA,GAAAnB,iBAAA,CAAtB,WACboB,SAA+C,EAC/CC,MAA6C,EACV;IACnC,OAAO,OAAOX,kBAAkB,EAAEU,SAAS,EAAEC,MAAM,CAAC;EACtD,CAAC;EAAA,OAAAF,QAAA,CAAAd,KAAA,OAAAD,SAAA;AAAA;AAAA"} \ No newline at end of file +{"version":3,"names":["_importMetaResolve","require","importMetaResolve","polyfill","resolve","specifier","parent"],"sources":["../../../src/config/files/import-meta-resolve.ts"],"sourcesContent":["import { resolve as polyfill } from \"../../vendor/import-meta-resolve\";\n\nlet importMetaResolve: (specifier: string, parent: string) => string;\n\nif (USE_ESM) {\n // Node.js < 20, when using the `--experimental-import-meta-resolve` flag,\n // have an asynchronous implementation of import.meta.resolve.\n if (\n typeof import.meta.resolve === \"function\" &&\n typeof import.meta.resolve(import.meta.url) === \"string\"\n ) {\n // @ts-expect-error: TS defines import.meta as returning a promise\n importMetaResolve = import.meta.resolve;\n } else {\n importMetaResolve = polyfill;\n }\n} else {\n importMetaResolve = polyfill;\n}\n\nexport default function resolve(\n specifier: string,\n parent?: string | URL,\n): string {\n // @ts-expect-error: TS defines import.meta.resolve as returning a promises\n return importMetaResolve(specifier, parent);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAEA,IAAIC,iBAAgE;AAc7D;EACLA,iBAAiB,GAAGC,0BAAQ;AAC9B;AAEe,SAASC,OAAOA,CAC7BC,SAAiB,EACjBC,MAAqB,EACb;EAER,OAAOJ,iBAAiB,CAACG,SAAS,EAAEC,MAAM,CAAC;AAC7C;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/files/index-browser.js.map b/node_modules/@babel/core/lib/config/files/index-browser.js.map index 62e4eca84..896e2a3cb 100644 --- a/node_modules/@babel/core/lib/config/files/index-browser.js.map +++ b/node_modules/@babel/core/lib/config/files/index-browser.js.map @@ -1 +1 @@ -{"version":3,"names":["findConfigUpwards","rootDir","findPackageData","filepath","directories","pkg","isPackage","findRelativeConfig","pkgData","envName","caller","config","ignore","findRootConfig","dirname","loadConfig","name","Error","resolveShowConfigPath","ROOT_CONFIG_FILENAMES","exports","resolvePlugin","resolvePreset","loadPlugin","loadPreset"],"sources":["../../../src/config/files/index-browser.ts"],"sourcesContent":["import type { Handler } from \"gensync\";\n\nimport type {\n ConfigFile,\n IgnoreFile,\n RelativeConfig,\n FilePackageData,\n} from \"./types\";\n\nimport type { CallerMetadata } from \"../validation/options\";\n\nexport type { ConfigFile, IgnoreFile, RelativeConfig, FilePackageData };\n\nexport function findConfigUpwards(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n rootDir: string,\n): string | null {\n return null;\n}\n\n// eslint-disable-next-line require-yield\nexport function* findPackageData(filepath: string): Handler {\n return {\n filepath,\n directories: [],\n pkg: null,\n isPackage: false,\n };\n}\n\n// eslint-disable-next-line require-yield\nexport function* findRelativeConfig(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n pkgData: FilePackageData,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n envName: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n caller: CallerMetadata | undefined,\n): Handler {\n return { config: null, ignore: null };\n}\n\n// eslint-disable-next-line require-yield\nexport function* findRootConfig(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n dirname: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n envName: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n caller: CallerMetadata | undefined,\n): Handler {\n return null;\n}\n\n// eslint-disable-next-line require-yield\nexport function* loadConfig(\n name: string,\n dirname: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n envName: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n caller: CallerMetadata | undefined,\n): Handler {\n throw new Error(`Cannot load ${name} relative to ${dirname} in a browser`);\n}\n\n// eslint-disable-next-line require-yield\nexport function* resolveShowConfigPath(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n dirname: string,\n): Handler {\n return null;\n}\n\nexport const ROOT_CONFIG_FILENAMES: string[] = [];\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function resolvePlugin(name: string, dirname: string): string | null {\n return null;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function resolvePreset(name: string, dirname: string): string | null {\n return null;\n}\n\nexport function loadPlugin(\n name: string,\n dirname: string,\n): Handler<{\n filepath: string;\n value: unknown;\n}> {\n throw new Error(\n `Cannot load plugin ${name} relative to ${dirname} in a browser`,\n );\n}\n\nexport function loadPreset(\n name: string,\n dirname: string,\n): Handler<{\n filepath: string;\n value: unknown;\n}> {\n throw new Error(\n `Cannot load preset ${name} relative to ${dirname} in a browser`,\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAaO,SAASA,iBAAiBA,CAE/BC,OAAe,EACA;EACf,OAAO,IAAI;AACb;AAGO,UAAUC,eAAeA,CAACC,QAAgB,EAA4B;EAC3E,OAAO;IACLA,QAAQ;IACRC,WAAW,EAAE,EAAE;IACfC,GAAG,EAAE,IAAI;IACTC,SAAS,EAAE;EACb,CAAC;AACH;AAGO,UAAUC,kBAAkBA,CAEjCC,OAAwB,EAExBC,OAAe,EAEfC,MAAkC,EACT;EACzB,OAAO;IAAEC,MAAM,EAAE,IAAI;IAAEC,MAAM,EAAE;EAAK,CAAC;AACvC;AAGO,UAAUC,cAAcA,CAE7BC,OAAe,EAEfL,OAAe,EAEfC,MAAkC,EACN;EAC5B,OAAO,IAAI;AACb;AAGO,UAAUK,UAAUA,CACzBC,IAAY,EACZF,OAAe,EAEfL,OAAe,EAEfC,MAAkC,EACb;EACrB,MAAM,IAAIO,KAAK,CAAE,eAAcD,IAAK,gBAAeF,OAAQ,eAAc,CAAC;AAC5E;AAGO,UAAUI,qBAAqBA,CAEpCJ,OAAe,EACS;EACxB,OAAO,IAAI;AACb;AAEO,MAAMK,qBAA+B,GAAG,EAAE;AAACC,OAAA,CAAAD,qBAAA,GAAAA,qBAAA;AAG3C,SAASE,aAAaA,CAACL,IAAY,EAAEF,OAAe,EAAiB;EAC1E,OAAO,IAAI;AACb;AAGO,SAASQ,aAAaA,CAACN,IAAY,EAAEF,OAAe,EAAiB;EAC1E,OAAO,IAAI;AACb;AAEO,SAASS,UAAUA,CACxBP,IAAY,EACZF,OAAe,EAId;EACD,MAAM,IAAIG,KAAK,CACZ,sBAAqBD,IAAK,gBAAeF,OAAQ,eAAc,CACjE;AACH;AAEO,SAASU,UAAUA,CACxBR,IAAY,EACZF,OAAe,EAId;EACD,MAAM,IAAIG,KAAK,CACZ,sBAAqBD,IAAK,gBAAeF,OAAQ,eAAc,CACjE;AACH;AAAC"} \ No newline at end of file +{"version":3,"names":["findConfigUpwards","rootDir","findPackageData","filepath","directories","pkg","isPackage","findRelativeConfig","pkgData","envName","caller","config","ignore","findRootConfig","dirname","loadConfig","name","Error","resolveShowConfigPath","ROOT_CONFIG_FILENAMES","exports","resolvePlugin","resolvePreset","loadPlugin","loadPreset"],"sources":["../../../src/config/files/index-browser.ts"],"sourcesContent":["import type { Handler } from \"gensync\";\n\nimport type {\n ConfigFile,\n IgnoreFile,\n RelativeConfig,\n FilePackageData,\n} from \"./types\";\n\nimport type { CallerMetadata } from \"../validation/options\";\n\nexport type { ConfigFile, IgnoreFile, RelativeConfig, FilePackageData };\n\nexport function findConfigUpwards(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n rootDir: string,\n): string | null {\n return null;\n}\n\n// eslint-disable-next-line require-yield\nexport function* findPackageData(filepath: string): Handler {\n return {\n filepath,\n directories: [],\n pkg: null,\n isPackage: false,\n };\n}\n\n// eslint-disable-next-line require-yield\nexport function* findRelativeConfig(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n pkgData: FilePackageData,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n envName: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n caller: CallerMetadata | undefined,\n): Handler {\n return { config: null, ignore: null };\n}\n\n// eslint-disable-next-line require-yield\nexport function* findRootConfig(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n dirname: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n envName: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n caller: CallerMetadata | undefined,\n): Handler {\n return null;\n}\n\n// eslint-disable-next-line require-yield\nexport function* loadConfig(\n name: string,\n dirname: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n envName: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n caller: CallerMetadata | undefined,\n): Handler {\n throw new Error(`Cannot load ${name} relative to ${dirname} in a browser`);\n}\n\n// eslint-disable-next-line require-yield\nexport function* resolveShowConfigPath(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n dirname: string,\n): Handler {\n return null;\n}\n\nexport const ROOT_CONFIG_FILENAMES: string[] = [];\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function resolvePlugin(name: string, dirname: string): string | null {\n return null;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function resolvePreset(name: string, dirname: string): string | null {\n return null;\n}\n\nexport function loadPlugin(\n name: string,\n dirname: string,\n): Handler<{\n filepath: string;\n value: unknown;\n}> {\n throw new Error(\n `Cannot load plugin ${name} relative to ${dirname} in a browser`,\n );\n}\n\nexport function loadPreset(\n name: string,\n dirname: string,\n): Handler<{\n filepath: string;\n value: unknown;\n}> {\n throw new Error(\n `Cannot load preset ${name} relative to ${dirname} in a browser`,\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAaO,SAASA,iBAAiBA,CAE/BC,OAAe,EACA;EACf,OAAO,IAAI;AACb;AAGO,UAAUC,eAAeA,CAACC,QAAgB,EAA4B;EAC3E,OAAO;IACLA,QAAQ;IACRC,WAAW,EAAE,EAAE;IACfC,GAAG,EAAE,IAAI;IACTC,SAAS,EAAE;EACb,CAAC;AACH;AAGO,UAAUC,kBAAkBA,CAEjCC,OAAwB,EAExBC,OAAe,EAEfC,MAAkC,EACT;EACzB,OAAO;IAAEC,MAAM,EAAE,IAAI;IAAEC,MAAM,EAAE;EAAK,CAAC;AACvC;AAGO,UAAUC,cAAcA,CAE7BC,OAAe,EAEfL,OAAe,EAEfC,MAAkC,EACN;EAC5B,OAAO,IAAI;AACb;AAGO,UAAUK,UAAUA,CACzBC,IAAY,EACZF,OAAe,EAEfL,OAAe,EAEfC,MAAkC,EACb;EACrB,MAAM,IAAIO,KAAK,CAAE,eAAcD,IAAK,gBAAeF,OAAQ,eAAc,CAAC;AAC5E;AAGO,UAAUI,qBAAqBA,CAEpCJ,OAAe,EACS;EACxB,OAAO,IAAI;AACb;AAEO,MAAMK,qBAA+B,GAAG,EAAE;AAACC,OAAA,CAAAD,qBAAA,GAAAA,qBAAA;AAG3C,SAASE,aAAaA,CAACL,IAAY,EAAEF,OAAe,EAAiB;EAC1E,OAAO,IAAI;AACb;AAGO,SAASQ,aAAaA,CAACN,IAAY,EAAEF,OAAe,EAAiB;EAC1E,OAAO,IAAI;AACb;AAEO,SAASS,UAAUA,CACxBP,IAAY,EACZF,OAAe,EAId;EACD,MAAM,IAAIG,KAAK,CACZ,sBAAqBD,IAAK,gBAAeF,OAAQ,eACpD,CAAC;AACH;AAEO,SAASU,UAAUA,CACxBR,IAAY,EACZF,OAAe,EAId;EACD,MAAM,IAAIG,KAAK,CACZ,sBAAqBD,IAAK,gBAAeF,OAAQ,eACpD,CAAC;AACH;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/files/index.js b/node_modules/@babel/core/lib/config/files/index.js index f93e6b22b..d11981e06 100644 --- a/node_modules/@babel/core/lib/config/files/index.js +++ b/node_modules/@babel/core/lib/config/files/index.js @@ -42,16 +42,27 @@ Object.defineProperty(exports, "loadConfig", { Object.defineProperty(exports, "loadPlugin", { enumerable: true, get: function () { - return plugins.loadPlugin; + return _plugins.loadPlugin; } }); Object.defineProperty(exports, "loadPreset", { enumerable: true, get: function () { - return plugins.loadPreset; + return _plugins.loadPreset; + } +}); +Object.defineProperty(exports, "resolvePlugin", { + enumerable: true, + get: function () { + return _plugins.resolvePlugin; + } +}); +Object.defineProperty(exports, "resolvePreset", { + enumerable: true, + get: function () { + return _plugins.resolvePreset; } }); -exports.resolvePreset = exports.resolvePlugin = void 0; Object.defineProperty(exports, "resolveShowConfigPath", { enumerable: true, get: function () { @@ -60,19 +71,8 @@ Object.defineProperty(exports, "resolveShowConfigPath", { }); var _package = require("./package"); var _configuration = require("./configuration"); -var plugins = require("./plugins"); -function _gensync() { - const data = require("gensync"); - _gensync = function () { - return data; - }; - return data; -} +var _plugins = require("./plugins"); ({}); -const resolvePlugin = _gensync()(plugins.resolvePlugin).sync; -exports.resolvePlugin = resolvePlugin; -const resolvePreset = _gensync()(plugins.resolvePreset).sync; -exports.resolvePreset = resolvePreset; 0 && 0; //# sourceMappingURL=index.js.map diff --git a/node_modules/@babel/core/lib/config/files/index.js.map b/node_modules/@babel/core/lib/config/files/index.js.map index 11d005824..965cc1884 100644 --- a/node_modules/@babel/core/lib/config/files/index.js.map +++ b/node_modules/@babel/core/lib/config/files/index.js.map @@ -1 +1 @@ -{"version":3,"names":["_package","require","_configuration","plugins","_gensync","data","resolvePlugin","gensync","sync","exports","resolvePreset"],"sources":["../../../src/config/files/index.ts"],"sourcesContent":["type indexBrowserType = typeof import(\"./index-browser\");\ntype indexType = typeof import(\"./index\");\n\n// Kind of gross, but essentially asserting that the exports of this module are the same as the\n// exports of index-browser, since this file may be replaced at bundle time with index-browser.\n({}) as any as indexBrowserType as indexType;\n\nexport { findPackageData } from \"./package\";\n\nexport {\n findConfigUpwards,\n findRelativeConfig,\n findRootConfig,\n loadConfig,\n resolveShowConfigPath,\n ROOT_CONFIG_FILENAMES,\n} from \"./configuration\";\nexport type {\n ConfigFile,\n IgnoreFile,\n RelativeConfig,\n FilePackageData,\n} from \"./types\";\nexport { loadPlugin, loadPreset } from \"./plugins\";\n\nimport gensync from \"gensync\";\nimport * as plugins from \"./plugins\";\n\nexport const resolvePlugin = gensync(plugins.resolvePlugin).sync;\nexport const resolvePreset = gensync(plugins.resolvePreset).sync;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AAcA,IAAAE,OAAA,GAAAF,OAAA;AAEA,SAAAG,SAAA;EAAA,MAAAC,IAAA,GAAAJ,OAAA;EAAAG,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AApBA,CAAC,CAAC,CAAC;AAuBI,MAAMC,aAAa,GAAGC,UAAO,CAACJ,OAAO,CAACG,aAAa,CAAC,CAACE,IAAI;AAACC,OAAA,CAAAH,aAAA,GAAAA,aAAA;AAC1D,MAAMI,aAAa,GAAGH,UAAO,CAACJ,OAAO,CAACO,aAAa,CAAC,CAACF,IAAI;AAACC,OAAA,CAAAC,aAAA,GAAAA,aAAA;AAAA"} \ No newline at end of file +{"version":3,"names":["_package","require","_configuration","_plugins"],"sources":["../../../src/config/files/index.ts"],"sourcesContent":["type indexBrowserType = typeof import(\"./index-browser\");\ntype indexType = typeof import(\"./index\");\n\n// Kind of gross, but essentially asserting that the exports of this module are the same as the\n// exports of index-browser, since this file may be replaced at bundle time with index-browser.\n({}) as any as indexBrowserType as indexType;\n\nexport { findPackageData } from \"./package\";\n\nexport {\n findConfigUpwards,\n findRelativeConfig,\n findRootConfig,\n loadConfig,\n resolveShowConfigPath,\n ROOT_CONFIG_FILENAMES,\n} from \"./configuration\";\nexport type {\n ConfigFile,\n IgnoreFile,\n RelativeConfig,\n FilePackageData,\n} from \"./types\";\nexport {\n loadPlugin,\n loadPreset,\n resolvePlugin,\n resolvePreset,\n} from \"./plugins\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AAcA,IAAAE,QAAA,GAAAF,OAAA;AAlBA,CAAC,CAAC,CAAC;AAA0C"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/files/module-types.js b/node_modules/@babel/core/lib/config/files/module-types.js index a7f55706f..60dda9b70 100644 --- a/node_modules/@babel/core/lib/config/files/module-types.js +++ b/node_modules/@babel/core/lib/config/files/module-types.js @@ -38,17 +38,21 @@ try { } catch (_unused) {} const supportsESM = _semver().satisfies(process.versions.node, "^12.17 || >=13.2"); exports.supportsESM = supportsESM; -function* loadCodeDefault(filepath, asyncError, fallbackToTranspiledModule = false) { +function* loadCodeDefault(filepath, asyncError) { switch (_path().extname(filepath)) { case ".cjs": - return loadCjsDefault(filepath, fallbackToTranspiledModule); + { + return loadCjsDefault(filepath, arguments[2]); + } case ".mjs": break; case ".cts": return loadCtsDefault(filepath); default: try { - return loadCjsDefault(filepath, fallbackToTranspiledModule); + { + return loadCjsDefault(filepath, arguments[2]); + } } catch (e) { if (e.code !== "ERR_REQUIRE_ESM") throw e; } @@ -85,7 +89,7 @@ function loadCtsDefault(filepath) { } catch (error) { if (!hasTsSupport) { const packageJson = require("@babel/preset-typescript/package.json"); - if (_semver().lte(packageJson.version, "7.21.4")) { + if (_semver().lt(packageJson.version, "7.21.4")) { console.error("`.cts` configuration file failed to load, please try to update `@babel/preset-typescript`."); } } @@ -106,9 +110,11 @@ function loadCtsDefault(filepath) { } } } -function loadCjsDefault(filepath, fallbackToTranspiledModule) { +function loadCjsDefault(filepath) { const module = (0, _rewriteStackTrace.endHiddenCallStack)(require)(filepath); - return module != null && module.__esModule ? module.default || (fallbackToTranspiledModule ? module : undefined) : module; + { + return module != null && module.__esModule ? module.default || (arguments[1] ? module : undefined) : module; + } } function loadMjsDefault(_x) { return _loadMjsDefault.apply(this, arguments); @@ -129,8 +135,9 @@ function getTSPreset(filepath) { } catch (error) { if (error.code !== "MODULE_NOT_FOUND") throw error; let message = "You appear to be using a .cts file as Babel configuration, but the `@babel/preset-typescript` package was not found: please install it!"; - if (process.versions.pnp) { - message += ` + { + if (process.versions.pnp) { + message += ` If you are using Yarn Plug'n'Play, you may also need to add the following configuration to your .yarnrc.yml file: packageExtensions: @@ -138,6 +145,7 @@ packageExtensions: \t\tpeerDependencies: \t\t\t"@babel/preset-typescript": "*" `; + } } throw new _configError.default(message, filepath); } diff --git a/node_modules/@babel/core/lib/config/files/module-types.js.map b/node_modules/@babel/core/lib/config/files/module-types.js.map index 67c2b4ee8..e749a2493 100644 --- a/node_modules/@babel/core/lib/config/files/module-types.js.map +++ b/node_modules/@babel/core/lib/config/files/module-types.js.map @@ -1 +1 @@ -{"version":3,"names":["_async","require","_path","data","_url","_semver","_rewriteStackTrace","_configError","_transformFile","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","import_","_unused","supportsESM","semver","satisfies","process","versions","node","exports","loadCodeDefault","filepath","asyncError","fallbackToTranspiledModule","path","extname","loadCjsDefault","loadCtsDefault","e","code","isAsync","waitFor","loadMjsDefault","ConfigError","ext","hasTsSupport","extensions","handler","opts","babelrc","configFile","sourceType","sourceMaps","sourceFileName","basename","presets","getTSPreset","Object","assign","onlyRemoveTypeImports","optimizeConstEnums","allowDeclareFields","m","filename","endsWith","_compile","transformFileSync","packageJson","lte","version","console","module","endHiddenCallStack","__esModule","default","_x","_loadMjsDefault","pathToFileURL","message","pnp"],"sources":["../../../src/config/files/module-types.ts"],"sourcesContent":["import { isAsync, waitFor } from \"../../gensync-utils/async\";\nimport type { Handler } from \"gensync\";\nimport path from \"path\";\nimport { pathToFileURL } from \"url\";\nimport { createRequire } from \"module\";\nimport semver from \"semver\";\n\nimport { endHiddenCallStack } from \"../../errors/rewrite-stack-trace\";\nimport ConfigError from \"../../errors/config-error\";\n\nimport type { InputOptions } from \"..\";\nimport { transformFileSync } from \"../../transform-file\";\n\nconst require = createRequire(import.meta.url);\n\nlet import_: ((specifier: string | URL) => any) | undefined;\ntry {\n // Old Node.js versions don't support import() syntax.\n import_ = require(\"./import.cjs\");\n} catch {}\n\nexport const supportsESM = semver.satisfies(\n process.versions.node,\n // older versions, starting from 10, support the dynamic\n // import syntax but always return a rejected promise.\n \"^12.17 || >=13.2\",\n);\n\nexport default function* loadCodeDefault(\n filepath: string,\n asyncError: string,\n // TODO(Babel 8): Remove this\n fallbackToTranspiledModule: boolean = false,\n): Handler {\n switch (path.extname(filepath)) {\n case \".cjs\":\n return loadCjsDefault(filepath, fallbackToTranspiledModule);\n case \".mjs\":\n break;\n case \".cts\":\n return loadCtsDefault(filepath);\n default:\n try {\n return loadCjsDefault(filepath, fallbackToTranspiledModule);\n } catch (e) {\n if (e.code !== \"ERR_REQUIRE_ESM\") throw e;\n }\n }\n if (yield* isAsync()) {\n return yield* waitFor(loadMjsDefault(filepath));\n }\n throw new ConfigError(asyncError, filepath);\n}\n\nfunction loadCtsDefault(filepath: string) {\n const ext = \".cts\";\n const hasTsSupport = !!(\n require.extensions[\".ts\"] ||\n require.extensions[\".cts\"] ||\n require.extensions[\".mts\"]\n );\n\n let handler: NodeJS.RequireExtensions[\"\"];\n\n if (!hasTsSupport) {\n const opts: InputOptions = {\n babelrc: false,\n configFile: false,\n sourceType: \"unambiguous\",\n sourceMaps: \"inline\",\n sourceFileName: path.basename(filepath),\n presets: [\n [\n getTSPreset(filepath),\n {\n onlyRemoveTypeImports: true,\n optimizeConstEnums: true,\n ...(process.env.BABEL_8_BREAKING\n ? {}\n : { allowDeclareFields: true }),\n },\n ],\n ],\n };\n\n handler = function (m, filename) {\n // If we want to support `.ts`, `.d.ts` must be handled specially.\n if (handler && filename.endsWith(ext)) {\n try {\n // @ts-expect-error Undocumented API\n return m._compile(\n transformFileSync(filename, {\n ...opts,\n filename,\n }).code,\n filename,\n );\n } catch (error) {\n if (!hasTsSupport) {\n const packageJson = require(\"@babel/preset-typescript/package.json\");\n if (semver.lte(packageJson.version, \"7.21.4\")) {\n console.error(\n \"`.cts` configuration file failed to load, please try to update `@babel/preset-typescript`.\",\n );\n }\n }\n throw error;\n }\n }\n return require.extensions[\".js\"](m, filename);\n };\n require.extensions[ext] = handler;\n }\n try {\n const module = endHiddenCallStack(require)(filepath);\n return module?.__esModule ? module.default : module;\n } finally {\n if (!hasTsSupport) {\n if (require.extensions[ext] === handler) delete require.extensions[ext];\n handler = undefined;\n }\n }\n}\n\nfunction loadCjsDefault(filepath: string, fallbackToTranspiledModule: boolean) {\n const module = endHiddenCallStack(require)(filepath);\n return module?.__esModule\n ? // TODO (Babel 8): Remove \"module\" and \"undefined\" fallback\n module.default || (fallbackToTranspiledModule ? module : undefined)\n : module;\n}\n\nasync function loadMjsDefault(filepath: string) {\n if (!import_) {\n throw new ConfigError(\n \"Internal error: Native ECMAScript modules aren't supported by this platform.\\n\",\n filepath,\n );\n }\n\n // import() expects URLs, not file paths.\n // https://github.com/nodejs/node/issues/31710\n const module = await endHiddenCallStack(import_)(pathToFileURL(filepath));\n return module.default;\n}\n\nfunction getTSPreset(filepath: string) {\n try {\n // eslint-disable-next-line import/no-extraneous-dependencies\n return require(\"@babel/preset-typescript\");\n } catch (error) {\n if (error.code !== \"MODULE_NOT_FOUND\") throw error;\n\n let message =\n \"You appear to be using a .cts file as Babel configuration, but the `@babel/preset-typescript` package was not found: please install it!\";\n\n if (process.versions.pnp) {\n // Using Yarn PnP, which doesn't allow requiring packages that are not\n // explicitly specified as dependencies.\n // TODO(Babel 8): Explicitly add `@babel/preset-typescript` as an\n // optional peer dependency of `@babel/core`.\n message += `\nIf you are using Yarn Plug'n'Play, you may also need to add the following configuration to your .yarnrc.yml file:\n\npackageExtensions:\n\\t\"@babel/core@*\":\n\\t\\tpeerDependencies:\n\\t\\t\\t\"@babel/preset-typescript\": \"*\"\n`;\n }\n\n throw new ConfigError(message, filepath);\n }\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_async","require","_path","data","_url","_semver","_rewriteStackTrace","_configError","_transformFile","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","import_","_unused","supportsESM","semver","satisfies","process","versions","node","exports","loadCodeDefault","filepath","asyncError","path","extname","loadCjsDefault","loadCtsDefault","e","code","isAsync","waitFor","loadMjsDefault","ConfigError","ext","hasTsSupport","extensions","handler","opts","babelrc","configFile","sourceType","sourceMaps","sourceFileName","basename","presets","getTSPreset","Object","assign","onlyRemoveTypeImports","optimizeConstEnums","allowDeclareFields","m","filename","endsWith","_compile","transformFileSync","packageJson","lt","version","console","module","endHiddenCallStack","__esModule","default","_x","_loadMjsDefault","pathToFileURL","message","pnp"],"sources":["../../../src/config/files/module-types.ts"],"sourcesContent":["import { isAsync, waitFor } from \"../../gensync-utils/async\";\nimport type { Handler } from \"gensync\";\nimport path from \"path\";\nimport { pathToFileURL } from \"url\";\nimport { createRequire } from \"module\";\nimport semver from \"semver\";\n\nimport { endHiddenCallStack } from \"../../errors/rewrite-stack-trace\";\nimport ConfigError from \"../../errors/config-error\";\n\nimport type { InputOptions } from \"..\";\nimport { transformFileSync } from \"../../transform-file\";\n\nconst require = createRequire(import.meta.url);\n\nlet import_: ((specifier: string | URL) => any) | undefined;\ntry {\n // Old Node.js versions don't support import() syntax.\n import_ = require(\"./import.cjs\");\n} catch {}\n\nexport const supportsESM = semver.satisfies(\n process.versions.node,\n // older versions, starting from 10, support the dynamic\n // import syntax but always return a rejected promise.\n \"^12.17 || >=13.2\",\n);\n\nexport default function* loadCodeDefault(\n filepath: string,\n asyncError: string,\n): Handler {\n switch (path.extname(filepath)) {\n case \".cjs\":\n if (process.env.BABEL_8_BREAKING) {\n return loadCjsDefault(filepath);\n } else {\n return loadCjsDefault(\n filepath,\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n /* fallbackToTranspiledModule */ arguments[2],\n );\n }\n case \".mjs\":\n break;\n case \".cts\":\n return loadCtsDefault(filepath);\n default:\n try {\n if (process.env.BABEL_8_BREAKING) {\n return loadCjsDefault(filepath);\n } else {\n return loadCjsDefault(\n filepath,\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n /* fallbackToTranspiledModule */ arguments[2],\n );\n }\n } catch (e) {\n if (e.code !== \"ERR_REQUIRE_ESM\") throw e;\n }\n }\n if (yield* isAsync()) {\n return yield* waitFor(loadMjsDefault(filepath));\n }\n throw new ConfigError(asyncError, filepath);\n}\n\nfunction loadCtsDefault(filepath: string) {\n const ext = \".cts\";\n const hasTsSupport = !!(\n require.extensions[\".ts\"] ||\n require.extensions[\".cts\"] ||\n require.extensions[\".mts\"]\n );\n\n let handler: NodeJS.RequireExtensions[\"\"];\n\n if (!hasTsSupport) {\n const opts: InputOptions = {\n babelrc: false,\n configFile: false,\n sourceType: \"unambiguous\",\n sourceMaps: \"inline\",\n sourceFileName: path.basename(filepath),\n presets: [\n [\n getTSPreset(filepath),\n {\n onlyRemoveTypeImports: true,\n optimizeConstEnums: true,\n ...(process.env.BABEL_8_BREAKING\n ? {}\n : { allowDeclareFields: true }),\n },\n ],\n ],\n };\n\n handler = function (m, filename) {\n // If we want to support `.ts`, `.d.ts` must be handled specially.\n if (handler && filename.endsWith(ext)) {\n try {\n // @ts-expect-error Undocumented API\n return m._compile(\n transformFileSync(filename, {\n ...opts,\n filename,\n }).code,\n filename,\n );\n } catch (error) {\n if (!hasTsSupport) {\n const packageJson = require(\"@babel/preset-typescript/package.json\");\n if (semver.lt(packageJson.version, \"7.21.4\")) {\n console.error(\n \"`.cts` configuration file failed to load, please try to update `@babel/preset-typescript`.\",\n );\n }\n }\n throw error;\n }\n }\n return require.extensions[\".js\"](m, filename);\n };\n require.extensions[ext] = handler;\n }\n try {\n const module = endHiddenCallStack(require)(filepath);\n return module?.__esModule ? module.default : module;\n } finally {\n if (!hasTsSupport) {\n if (require.extensions[ext] === handler) delete require.extensions[ext];\n handler = undefined;\n }\n }\n}\n\nfunction loadCjsDefault(filepath: string) {\n const module = endHiddenCallStack(require)(filepath);\n if (process.env.BABEL_8_BREAKING) {\n return module?.__esModule ? module.default : module;\n } else {\n return module?.__esModule\n ? module.default ||\n /* fallbackToTranspiledModule */ (arguments[1] ? module : undefined)\n : module;\n }\n}\n\nasync function loadMjsDefault(filepath: string) {\n if (!import_) {\n throw new ConfigError(\n \"Internal error: Native ECMAScript modules aren't supported by this platform.\\n\",\n filepath,\n );\n }\n\n // import() expects URLs, not file paths.\n // https://github.com/nodejs/node/issues/31710\n const module = await endHiddenCallStack(import_)(pathToFileURL(filepath));\n return module.default;\n}\n\nfunction getTSPreset(filepath: string) {\n try {\n // eslint-disable-next-line import/no-extraneous-dependencies\n return require(\"@babel/preset-typescript\");\n } catch (error) {\n if (error.code !== \"MODULE_NOT_FOUND\") throw error;\n\n let message =\n \"You appear to be using a .cts file as Babel configuration, but the `@babel/preset-typescript` package was not found: please install it!\";\n\n if (!process.env.BABEL_8_BREAKING) {\n if (process.versions.pnp) {\n // Using Yarn PnP, which doesn't allow requiring packages that are not\n // explicitly specified as dependencies.\n message += `\nIf you are using Yarn Plug'n'Play, you may also need to add the following configuration to your .yarnrc.yml file:\n\npackageExtensions:\n\\t\"@babel/core@*\":\n\\t\\tpeerDependencies:\n\\t\\t\\t\"@babel/preset-typescript\": \"*\"\n`;\n }\n }\n\n throw new ConfigError(message, filepath);\n }\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/files/package.js.map b/node_modules/@babel/core/lib/config/files/package.js.map index 770151ecb..a3b15f94d 100644 --- a/node_modules/@babel/core/lib/config/files/package.js.map +++ b/node_modules/@babel/core/lib/config/files/package.js.map @@ -1 +1 @@ -{"version":3,"names":["_path","data","require","_utils","_configError","PACKAGE_FILENAME","readConfigPackage","makeStaticFileCache","filepath","content","options","JSON","parse","err","ConfigError","message","Error","Array","isArray","dirname","path","findPackageData","pkg","directories","isPackage","basename","push","join","nextLoc"],"sources":["../../../src/config/files/package.ts"],"sourcesContent":["import path from \"path\";\nimport type { Handler } from \"gensync\";\nimport { makeStaticFileCache } from \"./utils\";\n\nimport type { ConfigFile, FilePackageData } from \"./types\";\n\nimport ConfigError from \"../../errors/config-error\";\n\nconst PACKAGE_FILENAME = \"package.json\";\n\nconst readConfigPackage = makeStaticFileCache(\n (filepath, content): ConfigFile => {\n let options;\n try {\n options = JSON.parse(content) as unknown;\n } catch (err) {\n throw new ConfigError(\n `Error while parsing JSON - ${err.message}`,\n filepath,\n );\n }\n\n if (!options) throw new Error(`${filepath}: No config detected`);\n\n if (typeof options !== \"object\") {\n throw new ConfigError(\n `Config returned typeof ${typeof options}`,\n filepath,\n );\n }\n if (Array.isArray(options)) {\n throw new ConfigError(`Expected config object but found array`, filepath);\n }\n\n return {\n filepath,\n dirname: path.dirname(filepath),\n options,\n };\n },\n);\n\n/**\n * Find metadata about the package that this file is inside of. Resolution\n * of Babel's config requires general package information to decide when to\n * search for .babelrc files\n */\nexport function* findPackageData(filepath: string): Handler {\n let pkg = null;\n const directories = [];\n let isPackage = true;\n\n let dirname = path.dirname(filepath);\n while (!pkg && path.basename(dirname) !== \"node_modules\") {\n directories.push(dirname);\n\n pkg = yield* readConfigPackage(path.join(dirname, PACKAGE_FILENAME));\n\n const nextLoc = path.dirname(dirname);\n if (dirname === nextLoc) {\n isPackage = false;\n break;\n }\n dirname = nextLoc;\n }\n\n return { filepath, directories, pkg, isPackage };\n}\n"],"mappings":";;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAE,MAAA,GAAAD,OAAA;AAIA,IAAAE,YAAA,GAAAF,OAAA;AAEA,MAAMG,gBAAgB,GAAG,cAAc;AAEvC,MAAMC,iBAAiB,GAAG,IAAAC,0BAAmB,EAC3C,CAACC,QAAQ,EAAEC,OAAO,KAAiB;EACjC,IAAIC,OAAO;EACX,IAAI;IACFA,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACH,OAAO,CAAY;EAC1C,CAAC,CAAC,OAAOI,GAAG,EAAE;IACZ,MAAM,IAAIC,oBAAW,CAClB,8BAA6BD,GAAG,CAACE,OAAQ,EAAC,EAC3CP,QAAQ,CACT;EACH;EAEA,IAAI,CAACE,OAAO,EAAE,MAAM,IAAIM,KAAK,CAAE,GAAER,QAAS,sBAAqB,CAAC;EAEhE,IAAI,OAAOE,OAAO,KAAK,QAAQ,EAAE;IAC/B,MAAM,IAAII,oBAAW,CAClB,0BAAyB,OAAOJ,OAAQ,EAAC,EAC1CF,QAAQ,CACT;EACH;EACA,IAAIS,KAAK,CAACC,OAAO,CAACR,OAAO,CAAC,EAAE;IAC1B,MAAM,IAAII,oBAAW,CAAE,wCAAuC,EAAEN,QAAQ,CAAC;EAC3E;EAEA,OAAO;IACLA,QAAQ;IACRW,OAAO,EAAEC,OAAI,CAACD,OAAO,CAACX,QAAQ,CAAC;IAC/BE;EACF,CAAC;AACH,CAAC,CACF;AAOM,UAAUW,eAAeA,CAACb,QAAgB,EAA4B;EAC3E,IAAIc,GAAG,GAAG,IAAI;EACd,MAAMC,WAAW,GAAG,EAAE;EACtB,IAAIC,SAAS,GAAG,IAAI;EAEpB,IAAIL,OAAO,GAAGC,OAAI,CAACD,OAAO,CAACX,QAAQ,CAAC;EACpC,OAAO,CAACc,GAAG,IAAIF,OAAI,CAACK,QAAQ,CAACN,OAAO,CAAC,KAAK,cAAc,EAAE;IACxDI,WAAW,CAACG,IAAI,CAACP,OAAO,CAAC;IAEzBG,GAAG,GAAG,OAAOhB,iBAAiB,CAACc,OAAI,CAACO,IAAI,CAACR,OAAO,EAAEd,gBAAgB,CAAC,CAAC;IAEpE,MAAMuB,OAAO,GAAGR,OAAI,CAACD,OAAO,CAACA,OAAO,CAAC;IACrC,IAAIA,OAAO,KAAKS,OAAO,EAAE;MACvBJ,SAAS,GAAG,KAAK;MACjB;IACF;IACAL,OAAO,GAAGS,OAAO;EACnB;EAEA,OAAO;IAAEpB,QAAQ;IAAEe,WAAW;IAAED,GAAG;IAAEE;EAAU,CAAC;AAClD;AAAC"} \ No newline at end of file +{"version":3,"names":["_path","data","require","_utils","_configError","PACKAGE_FILENAME","readConfigPackage","makeStaticFileCache","filepath","content","options","JSON","parse","err","ConfigError","message","Error","Array","isArray","dirname","path","findPackageData","pkg","directories","isPackage","basename","push","join","nextLoc"],"sources":["../../../src/config/files/package.ts"],"sourcesContent":["import path from \"path\";\nimport type { Handler } from \"gensync\";\nimport { makeStaticFileCache } from \"./utils\";\n\nimport type { ConfigFile, FilePackageData } from \"./types\";\n\nimport ConfigError from \"../../errors/config-error\";\n\nconst PACKAGE_FILENAME = \"package.json\";\n\nconst readConfigPackage = makeStaticFileCache(\n (filepath, content): ConfigFile => {\n let options;\n try {\n options = JSON.parse(content) as unknown;\n } catch (err) {\n throw new ConfigError(\n `Error while parsing JSON - ${err.message}`,\n filepath,\n );\n }\n\n if (!options) throw new Error(`${filepath}: No config detected`);\n\n if (typeof options !== \"object\") {\n throw new ConfigError(\n `Config returned typeof ${typeof options}`,\n filepath,\n );\n }\n if (Array.isArray(options)) {\n throw new ConfigError(`Expected config object but found array`, filepath);\n }\n\n return {\n filepath,\n dirname: path.dirname(filepath),\n options,\n };\n },\n);\n\n/**\n * Find metadata about the package that this file is inside of. Resolution\n * of Babel's config requires general package information to decide when to\n * search for .babelrc files\n */\nexport function* findPackageData(filepath: string): Handler {\n let pkg = null;\n const directories = [];\n let isPackage = true;\n\n let dirname = path.dirname(filepath);\n while (!pkg && path.basename(dirname) !== \"node_modules\") {\n directories.push(dirname);\n\n pkg = yield* readConfigPackage(path.join(dirname, PACKAGE_FILENAME));\n\n const nextLoc = path.dirname(dirname);\n if (dirname === nextLoc) {\n isPackage = false;\n break;\n }\n dirname = nextLoc;\n }\n\n return { filepath, directories, pkg, isPackage };\n}\n"],"mappings":";;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAE,MAAA,GAAAD,OAAA;AAIA,IAAAE,YAAA,GAAAF,OAAA;AAEA,MAAMG,gBAAgB,GAAG,cAAc;AAEvC,MAAMC,iBAAiB,GAAG,IAAAC,0BAAmB,EAC3C,CAACC,QAAQ,EAAEC,OAAO,KAAiB;EACjC,IAAIC,OAAO;EACX,IAAI;IACFA,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACH,OAAO,CAAY;EAC1C,CAAC,CAAC,OAAOI,GAAG,EAAE;IACZ,MAAM,IAAIC,oBAAW,CAClB,8BAA6BD,GAAG,CAACE,OAAQ,EAAC,EAC3CP,QACF,CAAC;EACH;EAEA,IAAI,CAACE,OAAO,EAAE,MAAM,IAAIM,KAAK,CAAE,GAAER,QAAS,sBAAqB,CAAC;EAEhE,IAAI,OAAOE,OAAO,KAAK,QAAQ,EAAE;IAC/B,MAAM,IAAII,oBAAW,CAClB,0BAAyB,OAAOJ,OAAQ,EAAC,EAC1CF,QACF,CAAC;EACH;EACA,IAAIS,KAAK,CAACC,OAAO,CAACR,OAAO,CAAC,EAAE;IAC1B,MAAM,IAAII,oBAAW,CAAE,wCAAuC,EAAEN,QAAQ,CAAC;EAC3E;EAEA,OAAO;IACLA,QAAQ;IACRW,OAAO,EAAEC,MAAGA,CAAC,CAACD,OAAO,CAACX,QAAQ,CAAC;IAC/BE;EACF,CAAC;AACH,CACF,CAAC;AAOM,UAAUW,eAAeA,CAACb,QAAgB,EAA4B;EAC3E,IAAIc,GAAG,GAAG,IAAI;EACd,MAAMC,WAAW,GAAG,EAAE;EACtB,IAAIC,SAAS,GAAG,IAAI;EAEpB,IAAIL,OAAO,GAAGC,MAAGA,CAAC,CAACD,OAAO,CAACX,QAAQ,CAAC;EACpC,OAAO,CAACc,GAAG,IAAIF,MAAGA,CAAC,CAACK,QAAQ,CAACN,OAAO,CAAC,KAAK,cAAc,EAAE;IACxDI,WAAW,CAACG,IAAI,CAACP,OAAO,CAAC;IAEzBG,GAAG,GAAG,OAAOhB,iBAAiB,CAACc,MAAGA,CAAC,CAACO,IAAI,CAACR,OAAO,EAAEd,gBAAgB,CAAC,CAAC;IAEpE,MAAMuB,OAAO,GAAGR,MAAGA,CAAC,CAACD,OAAO,CAACA,OAAO,CAAC;IACrC,IAAIA,OAAO,KAAKS,OAAO,EAAE;MACvBJ,SAAS,GAAG,KAAK;MACjB;IACF;IACAL,OAAO,GAAGS,OAAO;EACnB;EAEA,OAAO;IAAEpB,QAAQ;IAAEe,WAAW;IAAED,GAAG;IAAEE;EAAU,CAAC;AAClD;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/files/plugins.js b/node_modules/@babel/core/lib/config/files/plugins.js index ac4a8fdba..e83cd231e 100644 --- a/node_modules/@babel/core/lib/config/files/plugins.js +++ b/node_modules/@babel/core/lib/config/files/plugins.js @@ -5,8 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.loadPlugin = loadPlugin; exports.loadPreset = loadPreset; -exports.resolvePlugin = resolvePlugin; -exports.resolvePreset = resolvePreset; +exports.resolvePreset = exports.resolvePlugin = void 0; function _debug() { const data = require("debug"); _debug = function () { @@ -21,13 +20,6 @@ function _path() { }; return data; } -function _gensync() { - const data = require("gensync"); - _gensync = function () { - return data; - }; - return data; -} var _async = require("../../gensync-utils/async"); var _moduleTypes = require("./module-types"); function _url() { @@ -38,8 +30,6 @@ function _url() { return data; } var _importMetaResolve = require("./import-meta-resolve"); -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } -function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } const debug = _debug()("babel:config:loading:files:plugins"); const EXACT_RE = /^module:/; const BABEL_PLUGIN_PREFIX_RE = /^(?!@|module:|[^/]+\/|babel-plugin-)/; @@ -49,14 +39,12 @@ const BABEL_PRESET_ORG_RE = /^(@babel\/)(?!preset-|[^/]+\/)/; const OTHER_PLUGIN_ORG_RE = /^(@(?!babel\/)[^/]+\/)(?![^/]*babel-plugin(?:-|\/|$)|[^/]+\/)/; const OTHER_PRESET_ORG_RE = /^(@(?!babel\/)[^/]+\/)(?![^/]*babel-preset(?:-|\/|$)|[^/]+\/)/; const OTHER_ORG_DEFAULT_RE = /^(@(?!babel$)[^/]+)$/; -function* resolvePlugin(name, dirname) { - return yield* resolveStandardizedName("plugin", name, dirname); -} -function* resolvePreset(name, dirname) { - return yield* resolveStandardizedName("preset", name, dirname); -} +const resolvePlugin = resolveStandardizedName.bind(null, "plugin"); +exports.resolvePlugin = resolvePlugin; +const resolvePreset = resolveStandardizedName.bind(null, "preset"); +exports.resolvePreset = resolvePreset; function* loadPlugin(name, dirname) { - const filepath = yield* resolvePlugin(name, dirname); + const filepath = resolvePlugin(name, dirname, yield* (0, _async.isAsync)()); const value = yield* requireModule("plugin", filepath); debug("Loaded plugin %o from %o.", name, dirname); return { @@ -65,7 +53,7 @@ function* loadPlugin(name, dirname) { }; } function* loadPreset(name, dirname) { - const filepath = yield* resolvePreset(name, dirname); + const filepath = resolvePreset(name, dirname, yield* (0, _async.isAsync)()); const value = yield* requireModule("preset", filepath); debug("Loaded preset %o from %o.", name, dirname); return { @@ -96,25 +84,57 @@ function* resolveAlternativesHelper(type, name) { if (!(yield standardizeName(oppositeType, name)).error) { error.message += `\n- Did you accidentally pass a ${oppositeType} as a ${type}?`; } + if (type === "plugin") { + const transformName = standardizedName.replace("-proposal-", "-transform-"); + if (transformName !== standardizedName && !(yield transformName).error) { + error.message += `\n- Did you mean "${transformName}"?`; + } + } + error.message += `\n +Make sure that all the Babel plugins and presets you are using +are defined as dependencies or devDependencies in your package.json +file. It's possible that the missing plugin is loaded by a preset +you are using that forgot to add the plugin to its dependencies: you +can workaround this problem by explicitly adding the missing package +to your top-level package.json. +`; throw error; } -function tryRequireResolve(id, { - paths: [dirname] -}) { +function tryRequireResolve(id, dirname) { + try { + if (dirname) { + return { + error: null, + value: (((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, { + paths: [b] + }, M = require("module")) => { + let f = M._findPath(r, M._nodeModulePaths(b).concat(b)); + if (f) return f; + f = new Error(`Cannot resolve module '${r}'`); + f.code = "MODULE_NOT_FOUND"; + throw f; + })(id, { + paths: [dirname] + }) + }; + } else { + return { + error: null, + value: require.resolve(id) + }; + } + } catch (error) { + return { + error, + value: null + }; + } +} +function tryImportMetaResolve(id, options) { try { return { error: null, - value: (((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, { - paths: [b] - }, M = require("module")) => { - let f = M._findPath(r, M._nodeModulePaths(b).concat(b)); - if (f) return f; - f = new Error(`Cannot resolve module '${r}'`); - f.code = "MODULE_NOT_FOUND"; - throw f; - })(id, { - paths: [dirname] - }) + value: (0, _importMetaResolve.default)(id, options) }; } catch (error) { return { @@ -123,73 +143,39 @@ function tryRequireResolve(id, { }; } } -function tryImportMetaResolve(_x, _x2) { - return _tryImportMetaResolve.apply(this, arguments); -} -function _tryImportMetaResolve() { - _tryImportMetaResolve = _asyncToGenerator(function* (id, options) { - try { - return { - error: null, - value: yield (0, _importMetaResolve.default)(id, options) - }; - } catch (error) { - return { - error, - value: null - }; - } - }); - return _tryImportMetaResolve.apply(this, arguments); -} function resolveStandardizedNameForRequire(type, name, dirname) { const it = resolveAlternativesHelper(type, name); let res = it.next(); while (!res.done) { - res = it.next(tryRequireResolve(res.value, { - paths: [dirname] - })); + res = it.next(tryRequireResolve(res.value, dirname)); } return res.value; } -function resolveStandardizedNameForImport(_x3, _x4, _x5) { - return _resolveStandardizedNameForImport.apply(this, arguments); -} -function _resolveStandardizedNameForImport() { - _resolveStandardizedNameForImport = _asyncToGenerator(function* (type, name, dirname) { - const parentUrl = (0, _url().pathToFileURL)(_path().join(dirname, "./babel-virtual-resolve-base.js")).href; - const it = resolveAlternativesHelper(type, name); - let res = it.next(); - while (!res.done) { - res = it.next(yield tryImportMetaResolve(res.value, parentUrl)); - } - return (0, _url().fileURLToPath)(res.value); - }); - return _resolveStandardizedNameForImport.apply(this, arguments); +function resolveStandardizedNameForImport(type, name, dirname) { + const parentUrl = (0, _url().pathToFileURL)(_path().join(dirname, "./babel-virtual-resolve-base.js")).href; + const it = resolveAlternativesHelper(type, name); + let res = it.next(); + while (!res.done) { + res = it.next(tryImportMetaResolve(res.value, parentUrl)); + } + return (0, _url().fileURLToPath)(res.value); } -const resolveStandardizedName = _gensync()({ - sync(type, name, dirname = process.cwd()) { +function resolveStandardizedName(type, name, dirname, resolveESM) { + if (!_moduleTypes.supportsESM || !resolveESM) { return resolveStandardizedNameForRequire(type, name, dirname); - }, - async(type, name, dirname = process.cwd()) { - return _asyncToGenerator(function* () { - if (!_moduleTypes.supportsESM) { - return resolveStandardizedNameForRequire(type, name, dirname); - } - try { - return yield resolveStandardizedNameForImport(type, name, dirname); - } catch (e) { - try { - return resolveStandardizedNameForRequire(type, name, dirname); - } catch (e2) { - if (e.type === "MODULE_NOT_FOUND") throw e; - if (e2.type === "MODULE_NOT_FOUND") throw e2; - throw e; - } - } - })(); } -}); + try { + return resolveStandardizedNameForImport(type, name, dirname); + } catch (e) { + try { + return resolveStandardizedNameForRequire(type, name, dirname); + } catch (e2) { + if (e.type === "MODULE_NOT_FOUND") throw e; + if (e2.type === "MODULE_NOT_FOUND") throw e2; + throw e; + } + } +} { var LOADING_MODULES = new Set(); } @@ -203,7 +189,9 @@ function* requireModule(type, name) { { LOADING_MODULES.add(name); } - return yield* (0, _moduleTypes.default)(name, `You appear to be using a native ECMAScript module ${type}, ` + "which is only supported when running Babel asynchronously.", true); + { + return yield* (0, _moduleTypes.default)(name, `You appear to be using a native ECMAScript module ${type}, ` + "which is only supported when running Babel asynchronously.", true); + } } catch (err) { err.message = `[BABEL]: ${err.message} (While processing: ${name})`; throw err; diff --git a/node_modules/@babel/core/lib/config/files/plugins.js.map b/node_modules/@babel/core/lib/config/files/plugins.js.map index 7681db3ea..7812dd37c 100644 --- a/node_modules/@babel/core/lib/config/files/plugins.js.map +++ b/node_modules/@babel/core/lib/config/files/plugins.js.map @@ -1 +1 @@ -{"version":3,"names":["_debug","data","require","_path","_gensync","_async","_moduleTypes","_url","_importMetaResolve","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","debug","buildDebug","EXACT_RE","BABEL_PLUGIN_PREFIX_RE","BABEL_PRESET_PREFIX_RE","BABEL_PLUGIN_ORG_RE","BABEL_PRESET_ORG_RE","OTHER_PLUGIN_ORG_RE","OTHER_PRESET_ORG_RE","OTHER_ORG_DEFAULT_RE","resolvePlugin","name","dirname","resolveStandardizedName","resolvePreset","loadPlugin","filepath","requireModule","loadPreset","standardizeName","type","path","isAbsolute","isPreset","replace","resolveAlternativesHelper","standardizedName","code","message","oppositeType","tryRequireResolve","id","paths","v","w","split","process","versions","node","r","b","M","f","_findPath","_nodeModulePaths","concat","Error","tryImportMetaResolve","_x","_x2","_tryImportMetaResolve","options","importMetaResolve","resolveStandardizedNameForRequire","it","res","next","resolveStandardizedNameForImport","_x3","_x4","_x5","_resolveStandardizedNameForImport","parentUrl","pathToFileURL","join","href","fileURLToPath","gensync","sync","cwd","async","supportsESM","e","e2","LOADING_MODULES","Set","isAsync","has","add","loadCodeDefault","delete"],"sources":["../../../src/config/files/plugins.ts"],"sourcesContent":["/**\n * This file handles all logic for converting string-based configuration references into loaded objects.\n */\n\nimport buildDebug from \"debug\";\nimport path from \"path\";\nimport gensync, { type Handler } from \"gensync\";\nimport { isAsync } from \"../../gensync-utils/async\";\nimport loadCodeDefault, { supportsESM } from \"./module-types\";\nimport { fileURLToPath, pathToFileURL } from \"url\";\n\nimport importMetaResolve from \"./import-meta-resolve\";\n\nimport { createRequire } from \"module\";\nconst require = createRequire(import.meta.url);\n\nconst debug = buildDebug(\"babel:config:loading:files:plugins\");\n\nconst EXACT_RE = /^module:/;\nconst BABEL_PLUGIN_PREFIX_RE = /^(?!@|module:|[^/]+\\/|babel-plugin-)/;\nconst BABEL_PRESET_PREFIX_RE = /^(?!@|module:|[^/]+\\/|babel-preset-)/;\nconst BABEL_PLUGIN_ORG_RE = /^(@babel\\/)(?!plugin-|[^/]+\\/)/;\nconst BABEL_PRESET_ORG_RE = /^(@babel\\/)(?!preset-|[^/]+\\/)/;\nconst OTHER_PLUGIN_ORG_RE =\n /^(@(?!babel\\/)[^/]+\\/)(?![^/]*babel-plugin(?:-|\\/|$)|[^/]+\\/)/;\nconst OTHER_PRESET_ORG_RE =\n /^(@(?!babel\\/)[^/]+\\/)(?![^/]*babel-preset(?:-|\\/|$)|[^/]+\\/)/;\nconst OTHER_ORG_DEFAULT_RE = /^(@(?!babel$)[^/]+)$/;\n\nexport function* resolvePlugin(name: string, dirname: string): Handler {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return yield* resolveStandardizedName(\"plugin\", name, dirname);\n}\n\nexport function* resolvePreset(name: string, dirname: string): Handler {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return yield* resolveStandardizedName(\"preset\", name, dirname);\n}\n\nexport function* loadPlugin(\n name: string,\n dirname: string,\n): Handler<{ filepath: string; value: unknown }> {\n const filepath = yield* resolvePlugin(name, dirname);\n\n const value = yield* requireModule(\"plugin\", filepath);\n debug(\"Loaded plugin %o from %o.\", name, dirname);\n\n return { filepath, value };\n}\n\nexport function* loadPreset(\n name: string,\n dirname: string,\n): Handler<{ filepath: string; value: unknown }> {\n const filepath = yield* resolvePreset(name, dirname);\n\n const value = yield* requireModule(\"preset\", filepath);\n\n debug(\"Loaded preset %o from %o.\", name, dirname);\n\n return { filepath, value };\n}\n\nfunction standardizeName(type: \"plugin\" | \"preset\", name: string) {\n // Let absolute and relative paths through.\n if (path.isAbsolute(name)) return name;\n\n const isPreset = type === \"preset\";\n\n return (\n name\n // foo -> babel-preset-foo\n .replace(\n isPreset ? BABEL_PRESET_PREFIX_RE : BABEL_PLUGIN_PREFIX_RE,\n `babel-${type}-`,\n )\n // @babel/es2015 -> @babel/preset-es2015\n .replace(\n isPreset ? BABEL_PRESET_ORG_RE : BABEL_PLUGIN_ORG_RE,\n `$1${type}-`,\n )\n // @foo/mypreset -> @foo/babel-preset-mypreset\n .replace(\n isPreset ? OTHER_PRESET_ORG_RE : OTHER_PLUGIN_ORG_RE,\n `$1babel-${type}-`,\n )\n // @foo -> @foo/babel-preset\n .replace(OTHER_ORG_DEFAULT_RE, `$1/babel-${type}`)\n // module:mypreset -> mypreset\n .replace(EXACT_RE, \"\")\n );\n}\n\ntype Result = { error: Error; value: null } | { error: null; value: T };\n\nfunction* resolveAlternativesHelper(\n type: \"plugin\" | \"preset\",\n name: string,\n): Iterator> {\n const standardizedName = standardizeName(type, name);\n const { error, value } = yield standardizedName;\n if (!error) return value;\n\n // @ts-expect-error code may not index error\n if (error.code !== \"MODULE_NOT_FOUND\") throw error;\n\n if (standardizedName !== name && !(yield name).error) {\n error.message += `\\n- If you want to resolve \"${name}\", use \"module:${name}\"`;\n }\n\n if (!(yield standardizeName(type, \"@babel/\" + name)).error) {\n error.message += `\\n- Did you mean \"@babel/${name}\"?`;\n }\n\n const oppositeType = type === \"preset\" ? \"plugin\" : \"preset\";\n if (!(yield standardizeName(oppositeType, name)).error) {\n error.message += `\\n- Did you accidentally pass a ${oppositeType} as a ${type}?`;\n }\n\n throw error;\n}\n\nfunction tryRequireResolve(\n id: Parameters[0],\n { paths: [dirname] }: Parameters[1],\n): Result {\n try {\n return { error: null, value: require.resolve(id, { paths: [dirname] }) };\n } catch (error) {\n return { error, value: null };\n }\n}\n\nasync function tryImportMetaResolve(\n id: Parameters[0],\n options: Parameters[1],\n): Promise> {\n try {\n return { error: null, value: await importMetaResolve(id, options) };\n } catch (error) {\n return { error, value: null };\n }\n}\n\nfunction resolveStandardizedNameForRequire(\n type: \"plugin\" | \"preset\",\n name: string,\n dirname: string,\n) {\n const it = resolveAlternativesHelper(type, name);\n let res = it.next();\n while (!res.done) {\n res = it.next(tryRequireResolve(res.value, { paths: [dirname] }));\n }\n return res.value;\n}\nasync function resolveStandardizedNameForImport(\n type: \"plugin\" | \"preset\",\n name: string,\n dirname: string,\n) {\n const parentUrl = pathToFileURL(\n path.join(dirname, \"./babel-virtual-resolve-base.js\"),\n ).href;\n\n const it = resolveAlternativesHelper(type, name);\n let res = it.next();\n while (!res.done) {\n res = it.next(await tryImportMetaResolve(res.value, parentUrl));\n }\n return fileURLToPath(res.value);\n}\n\nconst resolveStandardizedName = gensync<\n [type: \"plugin\" | \"preset\", name: string, dirname?: string],\n string\n>({\n sync(type, name, dirname = process.cwd()) {\n return resolveStandardizedNameForRequire(type, name, dirname);\n },\n async async(type, name, dirname = process.cwd()) {\n if (!supportsESM) {\n return resolveStandardizedNameForRequire(type, name, dirname);\n }\n\n try {\n return await resolveStandardizedNameForImport(type, name, dirname);\n } catch (e) {\n try {\n return resolveStandardizedNameForRequire(type, name, dirname);\n } catch (e2) {\n if (e.type === \"MODULE_NOT_FOUND\") throw e;\n if (e2.type === \"MODULE_NOT_FOUND\") throw e2;\n throw e;\n }\n }\n },\n});\n\nif (!process.env.BABEL_8_BREAKING) {\n // eslint-disable-next-line no-var\n var LOADING_MODULES = new Set();\n}\nfunction* requireModule(type: string, name: string): Handler {\n if (!process.env.BABEL_8_BREAKING) {\n if (!(yield* isAsync()) && LOADING_MODULES.has(name)) {\n throw new Error(\n `Reentrant ${type} detected trying to load \"${name}\". This module is not ignored ` +\n \"and is trying to load itself while compiling itself, leading to a dependency cycle. \" +\n 'We recommend adding it to your \"ignore\" list in your babelrc, or to a .babelignore.',\n );\n }\n }\n\n try {\n if (!process.env.BABEL_8_BREAKING) {\n LOADING_MODULES.add(name);\n }\n return yield* loadCodeDefault(\n name,\n `You appear to be using a native ECMAScript module ${type}, ` +\n \"which is only supported when running Babel asynchronously.\",\n // For backward compatibility, we need to support malformed presets\n // defined as separate named exports rather than a single default\n // export.\n // See packages/babel-core/test/fixtures/option-manager/presets/es2015_named.js\n true,\n );\n } catch (err) {\n err.message = `[BABEL]: ${err.message} (While processing: ${name})`;\n throw err;\n } finally {\n if (!process.env.BABEL_8_BREAKING) {\n LOADING_MODULES.delete(name);\n }\n }\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_debug","data","require","_path","_async","_moduleTypes","_url","_importMetaResolve","debug","buildDebug","EXACT_RE","BABEL_PLUGIN_PREFIX_RE","BABEL_PRESET_PREFIX_RE","BABEL_PLUGIN_ORG_RE","BABEL_PRESET_ORG_RE","OTHER_PLUGIN_ORG_RE","OTHER_PRESET_ORG_RE","OTHER_ORG_DEFAULT_RE","resolvePlugin","resolveStandardizedName","bind","exports","resolvePreset","loadPlugin","name","dirname","filepath","isAsync","value","requireModule","loadPreset","standardizeName","type","path","isAbsolute","isPreset","replace","resolveAlternativesHelper","standardizedName","error","code","message","oppositeType","transformName","tryRequireResolve","id","v","w","split","process","versions","node","resolve","r","paths","b","M","f","_findPath","_nodeModulePaths","concat","Error","tryImportMetaResolve","options","importMetaResolve","resolveStandardizedNameForRequire","it","res","next","done","resolveStandardizedNameForImport","parentUrl","pathToFileURL","join","href","fileURLToPath","resolveESM","supportsESM","e","e2","LOADING_MODULES","Set","has","add","loadCodeDefault","err","delete"],"sources":["../../../src/config/files/plugins.ts"],"sourcesContent":["/**\n * This file handles all logic for converting string-based configuration references into loaded objects.\n */\n\nimport buildDebug from \"debug\";\nimport path from \"path\";\nimport type { Handler } from \"gensync\";\nimport { isAsync } from \"../../gensync-utils/async\";\nimport loadCodeDefault, { supportsESM } from \"./module-types\";\nimport { fileURLToPath, pathToFileURL } from \"url\";\n\nimport importMetaResolve from \"./import-meta-resolve\";\n\nimport { createRequire } from \"module\";\nconst require = createRequire(import.meta.url);\n\nconst debug = buildDebug(\"babel:config:loading:files:plugins\");\n\nconst EXACT_RE = /^module:/;\nconst BABEL_PLUGIN_PREFIX_RE = /^(?!@|module:|[^/]+\\/|babel-plugin-)/;\nconst BABEL_PRESET_PREFIX_RE = /^(?!@|module:|[^/]+\\/|babel-preset-)/;\nconst BABEL_PLUGIN_ORG_RE = /^(@babel\\/)(?!plugin-|[^/]+\\/)/;\nconst BABEL_PRESET_ORG_RE = /^(@babel\\/)(?!preset-|[^/]+\\/)/;\nconst OTHER_PLUGIN_ORG_RE =\n /^(@(?!babel\\/)[^/]+\\/)(?![^/]*babel-plugin(?:-|\\/|$)|[^/]+\\/)/;\nconst OTHER_PRESET_ORG_RE =\n /^(@(?!babel\\/)[^/]+\\/)(?![^/]*babel-preset(?:-|\\/|$)|[^/]+\\/)/;\nconst OTHER_ORG_DEFAULT_RE = /^(@(?!babel$)[^/]+)$/;\n\nexport const resolvePlugin = resolveStandardizedName.bind(null, \"plugin\");\nexport const resolvePreset = resolveStandardizedName.bind(null, \"preset\");\n\nexport function* loadPlugin(\n name: string,\n dirname: string,\n): Handler<{ filepath: string; value: unknown }> {\n const filepath = resolvePlugin(name, dirname, yield* isAsync());\n\n const value = yield* requireModule(\"plugin\", filepath);\n debug(\"Loaded plugin %o from %o.\", name, dirname);\n\n return { filepath, value };\n}\n\nexport function* loadPreset(\n name: string,\n dirname: string,\n): Handler<{ filepath: string; value: unknown }> {\n const filepath = resolvePreset(name, dirname, yield* isAsync());\n\n const value = yield* requireModule(\"preset\", filepath);\n\n debug(\"Loaded preset %o from %o.\", name, dirname);\n\n return { filepath, value };\n}\n\nfunction standardizeName(type: \"plugin\" | \"preset\", name: string) {\n // Let absolute and relative paths through.\n if (path.isAbsolute(name)) return name;\n\n const isPreset = type === \"preset\";\n\n return (\n name\n // foo -> babel-preset-foo\n .replace(\n isPreset ? BABEL_PRESET_PREFIX_RE : BABEL_PLUGIN_PREFIX_RE,\n `babel-${type}-`,\n )\n // @babel/es2015 -> @babel/preset-es2015\n .replace(\n isPreset ? BABEL_PRESET_ORG_RE : BABEL_PLUGIN_ORG_RE,\n `$1${type}-`,\n )\n // @foo/mypreset -> @foo/babel-preset-mypreset\n .replace(\n isPreset ? OTHER_PRESET_ORG_RE : OTHER_PLUGIN_ORG_RE,\n `$1babel-${type}-`,\n )\n // @foo -> @foo/babel-preset\n .replace(OTHER_ORG_DEFAULT_RE, `$1/babel-${type}`)\n // module:mypreset -> mypreset\n .replace(EXACT_RE, \"\")\n );\n}\n\ntype Result = { error: Error; value: null } | { error: null; value: T };\n\nfunction* resolveAlternativesHelper(\n type: \"plugin\" | \"preset\",\n name: string,\n): Iterator> {\n const standardizedName = standardizeName(type, name);\n const { error, value } = yield standardizedName;\n if (!error) return value;\n\n // @ts-expect-error code may not index error\n if (error.code !== \"MODULE_NOT_FOUND\") throw error;\n\n if (standardizedName !== name && !(yield name).error) {\n error.message += `\\n- If you want to resolve \"${name}\", use \"module:${name}\"`;\n }\n\n if (!(yield standardizeName(type, \"@babel/\" + name)).error) {\n error.message += `\\n- Did you mean \"@babel/${name}\"?`;\n }\n\n const oppositeType = type === \"preset\" ? \"plugin\" : \"preset\";\n if (!(yield standardizeName(oppositeType, name)).error) {\n error.message += `\\n- Did you accidentally pass a ${oppositeType} as a ${type}?`;\n }\n\n if (type === \"plugin\") {\n const transformName = standardizedName.replace(\"-proposal-\", \"-transform-\");\n if (transformName !== standardizedName && !(yield transformName).error) {\n error.message += `\\n- Did you mean \"${transformName}\"?`;\n }\n }\n\n error.message += `\\n\nMake sure that all the Babel plugins and presets you are using\nare defined as dependencies or devDependencies in your package.json\nfile. It's possible that the missing plugin is loaded by a preset\nyou are using that forgot to add the plugin to its dependencies: you\ncan workaround this problem by explicitly adding the missing package\nto your top-level package.json.\n`;\n\n throw error;\n}\n\nfunction tryRequireResolve(\n id: string,\n dirname: string | undefined,\n): Result {\n try {\n if (dirname) {\n return { error: null, value: require.resolve(id, { paths: [dirname] }) };\n } else {\n return { error: null, value: require.resolve(id) };\n }\n } catch (error) {\n return { error, value: null };\n }\n}\n\nfunction tryImportMetaResolve(\n id: Parameters[0],\n options: Parameters[1],\n): Result {\n try {\n return { error: null, value: importMetaResolve(id, options) };\n } catch (error) {\n return { error, value: null };\n }\n}\n\nfunction resolveStandardizedNameForRequire(\n type: \"plugin\" | \"preset\",\n name: string,\n dirname: string,\n) {\n const it = resolveAlternativesHelper(type, name);\n let res = it.next();\n while (!res.done) {\n res = it.next(tryRequireResolve(res.value, dirname));\n }\n return res.value;\n}\nfunction resolveStandardizedNameForImport(\n type: \"plugin\" | \"preset\",\n name: string,\n dirname: string,\n) {\n const parentUrl = pathToFileURL(\n path.join(dirname, \"./babel-virtual-resolve-base.js\"),\n ).href;\n\n const it = resolveAlternativesHelper(type, name);\n let res = it.next();\n while (!res.done) {\n res = it.next(tryImportMetaResolve(res.value, parentUrl));\n }\n return fileURLToPath(res.value);\n}\n\nfunction resolveStandardizedName(\n type: \"plugin\" | \"preset\",\n name: string,\n dirname: string,\n resolveESM: boolean,\n) {\n if (!supportsESM || !resolveESM) {\n return resolveStandardizedNameForRequire(type, name, dirname);\n }\n\n try {\n return resolveStandardizedNameForImport(type, name, dirname);\n } catch (e) {\n try {\n return resolveStandardizedNameForRequire(type, name, dirname);\n } catch (e2) {\n if (e.type === \"MODULE_NOT_FOUND\") throw e;\n if (e2.type === \"MODULE_NOT_FOUND\") throw e2;\n throw e;\n }\n }\n}\n\nif (!process.env.BABEL_8_BREAKING) {\n // eslint-disable-next-line no-var\n var LOADING_MODULES = new Set();\n}\nfunction* requireModule(type: string, name: string): Handler {\n if (!process.env.BABEL_8_BREAKING) {\n if (!(yield* isAsync()) && LOADING_MODULES.has(name)) {\n throw new Error(\n `Reentrant ${type} detected trying to load \"${name}\". This module is not ignored ` +\n \"and is trying to load itself while compiling itself, leading to a dependency cycle. \" +\n 'We recommend adding it to your \"ignore\" list in your babelrc, or to a .babelignore.',\n );\n }\n }\n\n try {\n if (!process.env.BABEL_8_BREAKING) {\n LOADING_MODULES.add(name);\n }\n\n if (process.env.BABEL_8_BREAKING) {\n return yield* loadCodeDefault(\n name,\n `You appear to be using a native ECMAScript module ${type}, ` +\n \"which is only supported when running Babel asynchronously.\",\n );\n } else {\n return yield* loadCodeDefault(\n name,\n `You appear to be using a native ECMAScript module ${type}, ` +\n \"which is only supported when running Babel asynchronously.\",\n // For backward compatibility, we need to support malformed presets\n // defined as separate named exports rather than a single default\n // export.\n // See packages/babel-core/test/fixtures/option-manager/presets/es2015_named.js\n // @ts-ignore(Babel 7 vs Babel 8) This param has been removed\n true,\n );\n }\n } catch (err) {\n err.message = `[BABEL]: ${err.message} (While processing: ${name})`;\n throw err;\n } finally {\n if (!process.env.BABEL_8_BREAKING) {\n LOADING_MODULES.delete(name);\n }\n }\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/files/utils.js.map b/node_modules/@babel/core/lib/config/files/utils.js.map index 894d40315..ab76d663c 100644 --- a/node_modules/@babel/core/lib/config/files/utils.js.map +++ b/node_modules/@babel/core/lib/config/files/utils.js.map @@ -1 +1 @@ -{"version":3,"names":["_caching","require","fs","_fs2","data","makeStaticFileCache","fn","makeStrongCache","filepath","cache","cached","invalidate","fileMtime","readFile","nodeFs","existsSync","statSync","mtime","e","code"],"sources":["../../../src/config/files/utils.ts"],"sourcesContent":["import type { Handler } from \"gensync\";\n\nimport { makeStrongCache } from \"../caching\";\nimport type { CacheConfigurator } from \"../caching\";\nimport * as fs from \"../../gensync-utils/fs\";\nimport nodeFs from \"fs\";\n\nexport function makeStaticFileCache(\n fn: (filepath: string, contents: string) => T,\n) {\n return makeStrongCache(function* (\n filepath: string,\n cache: CacheConfigurator,\n ): Handler {\n const cached = cache.invalidate(() => fileMtime(filepath));\n\n if (cached === null) {\n return null;\n }\n\n return fn(filepath, yield* fs.readFile(filepath, \"utf8\"));\n });\n}\n\nfunction fileMtime(filepath: string): number | null {\n if (!nodeFs.existsSync(filepath)) return null;\n\n try {\n return +nodeFs.statSync(filepath).mtime;\n } catch (e) {\n if (e.code !== \"ENOENT\" && e.code !== \"ENOTDIR\") throw e;\n }\n\n return null;\n}\n"],"mappings":";;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,EAAA,GAAAD,OAAA;AACA,SAAAE,KAAA;EAAA,MAAAC,IAAA,GAAAH,OAAA;EAAAE,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,SAASC,mBAAmBA,CACjCC,EAA6C,EAC7C;EACA,OAAO,IAAAC,wBAAe,EAAC,WACrBC,QAAgB,EAChBC,KAA8B,EACX;IACnB,MAAMC,MAAM,GAAGD,KAAK,CAACE,UAAU,CAAC,MAAMC,SAAS,CAACJ,QAAQ,CAAC,CAAC;IAE1D,IAAIE,MAAM,KAAK,IAAI,EAAE;MACnB,OAAO,IAAI;IACb;IAEA,OAAOJ,EAAE,CAACE,QAAQ,EAAE,OAAON,EAAE,CAACW,QAAQ,CAACL,QAAQ,EAAE,MAAM,CAAC,CAAC;EAC3D,CAAC,CAAC;AACJ;AAEA,SAASI,SAASA,CAACJ,QAAgB,EAAiB;EAClD,IAAI,CAACM,MAAM,CAACC,UAAU,CAACP,QAAQ,CAAC,EAAE,OAAO,IAAI;EAE7C,IAAI;IACF,OAAO,CAACM,MAAM,CAACE,QAAQ,CAACR,QAAQ,CAAC,CAACS,KAAK;EACzC,CAAC,CAAC,OAAOC,CAAC,EAAE;IACV,IAAIA,CAAC,CAACC,IAAI,KAAK,QAAQ,IAAID,CAAC,CAACC,IAAI,KAAK,SAAS,EAAE,MAAMD,CAAC;EAC1D;EAEA,OAAO,IAAI;AACb;AAAC"} \ No newline at end of file +{"version":3,"names":["_caching","require","fs","_fs2","data","makeStaticFileCache","fn","makeStrongCache","filepath","cache","cached","invalidate","fileMtime","readFile","nodeFs","existsSync","statSync","mtime","e","code"],"sources":["../../../src/config/files/utils.ts"],"sourcesContent":["import type { Handler } from \"gensync\";\n\nimport { makeStrongCache } from \"../caching\";\nimport type { CacheConfigurator } from \"../caching\";\nimport * as fs from \"../../gensync-utils/fs\";\nimport nodeFs from \"fs\";\n\nexport function makeStaticFileCache(\n fn: (filepath: string, contents: string) => T,\n) {\n return makeStrongCache(function* (\n filepath: string,\n cache: CacheConfigurator,\n ): Handler {\n const cached = cache.invalidate(() => fileMtime(filepath));\n\n if (cached === null) {\n return null;\n }\n\n return fn(filepath, yield* fs.readFile(filepath, \"utf8\"));\n });\n}\n\nfunction fileMtime(filepath: string): number | null {\n if (!nodeFs.existsSync(filepath)) return null;\n\n try {\n return +nodeFs.statSync(filepath).mtime;\n } catch (e) {\n if (e.code !== \"ENOENT\" && e.code !== \"ENOTDIR\") throw e;\n }\n\n return null;\n}\n"],"mappings":";;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,EAAA,GAAAD,OAAA;AACA,SAAAE,KAAA;EAAA,MAAAC,IAAA,GAAAH,OAAA;EAAAE,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,SAASC,mBAAmBA,CACjCC,EAA6C,EAC7C;EACA,OAAO,IAAAC,wBAAe,EAAC,WACrBC,QAAgB,EAChBC,KAA8B,EACX;IACnB,MAAMC,MAAM,GAAGD,KAAK,CAACE,UAAU,CAAC,MAAMC,SAAS,CAACJ,QAAQ,CAAC,CAAC;IAE1D,IAAIE,MAAM,KAAK,IAAI,EAAE;MACnB,OAAO,IAAI;IACb;IAEA,OAAOJ,EAAE,CAACE,QAAQ,EAAE,OAAON,EAAE,CAACW,QAAQ,CAACL,QAAQ,EAAE,MAAM,CAAC,CAAC;EAC3D,CAAC,CAAC;AACJ;AAEA,SAASI,SAASA,CAACJ,QAAgB,EAAiB;EAClD,IAAI,CAACM,KAAKA,CAAC,CAACC,UAAU,CAACP,QAAQ,CAAC,EAAE,OAAO,IAAI;EAE7C,IAAI;IACF,OAAO,CAACM,KAAKA,CAAC,CAACE,QAAQ,CAACR,QAAQ,CAAC,CAACS,KAAK;EACzC,CAAC,CAAC,OAAOC,CAAC,EAAE;IACV,IAAIA,CAAC,CAACC,IAAI,KAAK,QAAQ,IAAID,CAAC,CAACC,IAAI,KAAK,SAAS,EAAE,MAAMD,CAAC;EAC1D;EAEA,OAAO,IAAI;AACb;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/full.js.map b/node_modules/@babel/core/lib/config/full.js.map index 208577580..52ec97327 100644 --- a/node_modules/@babel/core/lib/config/full.js.map +++ b/node_modules/@babel/core/lib/config/full.js.map @@ -1 +1 @@ -{"version":3,"names":["_gensync","data","require","_async","_util","context","_plugin","_item","_configChain","_deepArray","_traverse","_caching","_options","_plugins","_configApi","_partial","_configError","_default","gensync","loadFullConfig","inputOpts","_opts$assumptions","result","loadPrivatePartialConfig","options","fileHandling","optionDefaults","plugins","presets","Error","presetContext","Object","assign","targets","toDescriptor","item","desc","getItemDescriptor","presetsDescriptors","map","initialPluginsDescriptors","pluginDescriptorsByPass","passes","externalDependencies","ignored","enhanceError","recursePresetDescriptors","rawPresets","pluginDescriptorsPass","i","length","descriptor","preset","loadPresetDescriptor","e","code","checkNoUnwrappedItemOptionPairs","push","ownPass","chain","pass","unshift","splice","o","filter","p","forEach","opts","mergeOptions","pluginContext","assumptions","loadPluginDescriptors","descs","plugin","loadPluginDescriptor","slice","passPerPreset","freezeDeepArray","exports","default","fn","arg1","arg2","test","message","_context$filename","filename","makeDescriptorLoader","apiFactory","makeWeakCache","value","dirname","alias","cache","factory","maybeAsync","api","JSON","stringify","isThenable","configured","mode","error","pluginDescriptorLoader","makePluginAPI","presetDescriptorLoader","makePresetAPI","instantiatePlugin","pluginObj","validatePluginObject","visitor","traverse","explode","inherits","inheritsDescriptor","name","undefined","forwardAsync","run","invalidate","pre","post","manipulateOptions","visitors","merge","Plugin","needsFilename","val","validateIfOptionNeedsFilename","include","exclude","formattedPresetName","ConfigError","join","validatePreset","overrides","overrideOptions","instantiatePreset","makeWeakCacheSync","validate","buildPresetChain","a","b","fns","Boolean","args","apply"],"sources":["../../src/config/full.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\nimport { forwardAsync, maybeAsync, isThenable } from \"../gensync-utils/async\";\n\nimport { mergeOptions } from \"./util\";\nimport * as context from \"../index\";\nimport Plugin from \"./plugin\";\nimport { getItemDescriptor } from \"./item\";\nimport { buildPresetChain } from \"./config-chain\";\nimport { finalize as freezeDeepArray } from \"./helpers/deep-array\";\nimport type { DeepArray, ReadonlyDeepArray } from \"./helpers/deep-array\";\nimport type {\n ConfigContext,\n ConfigChain,\n PresetInstance,\n} from \"./config-chain\";\nimport type { UnloadedDescriptor } from \"./config-descriptors\";\nimport traverse from \"@babel/traverse\";\nimport { makeWeakCache, makeWeakCacheSync } from \"./caching\";\nimport type { CacheConfigurator } from \"./caching\";\nimport {\n validate,\n checkNoUnwrappedItemOptionPairs,\n} from \"./validation/options\";\nimport type { PluginItem } from \"./validation/options\";\nimport { validatePluginObject } from \"./validation/plugins\";\nimport { makePluginAPI, makePresetAPI } from \"./helpers/config-api\";\nimport type { PluginAPI, PresetAPI } from \"./helpers/config-api\";\n\nimport loadPrivatePartialConfig from \"./partial\";\nimport type { ValidatedOptions } from \"./validation/options\";\n\nimport type * as Context from \"./cache-contexts\";\nimport ConfigError from \"../errors/config-error\";\n\ntype LoadedDescriptor = {\n value: {};\n options: {};\n dirname: string;\n alias: string;\n externalDependencies: ReadonlyDeepArray;\n};\n\nexport type { InputOptions } from \"./validation/options\";\n\nexport type ResolvedConfig = {\n options: any;\n passes: PluginPasses;\n externalDependencies: ReadonlyDeepArray;\n};\n\nexport type { Plugin };\nexport type PluginPassList = Array;\nexport type PluginPasses = Array;\n\nexport default gensync(function* loadFullConfig(\n inputOpts: unknown,\n): Handler {\n const result = yield* loadPrivatePartialConfig(inputOpts);\n if (!result) {\n return null;\n }\n const { options, context, fileHandling } = result;\n\n if (fileHandling === \"ignored\") {\n return null;\n }\n\n const optionDefaults = {};\n\n const { plugins, presets } = options;\n\n if (!plugins || !presets) {\n throw new Error(\"Assertion failure - plugins and presets exist\");\n }\n\n const presetContext: Context.FullPreset = {\n ...context,\n targets: options.targets,\n };\n\n const toDescriptor = (item: PluginItem) => {\n const desc = getItemDescriptor(item);\n if (!desc) {\n throw new Error(\"Assertion failure - must be config item\");\n }\n\n return desc;\n };\n\n const presetsDescriptors = presets.map(toDescriptor);\n const initialPluginsDescriptors = plugins.map(toDescriptor);\n const pluginDescriptorsByPass: Array> = [[]];\n const passes: Array> = [];\n\n const externalDependencies: DeepArray = [];\n\n const ignored = yield* enhanceError(\n context,\n function* recursePresetDescriptors(\n rawPresets: Array,\n pluginDescriptorsPass: Array,\n ): Handler {\n const presets: Array<{\n preset: ConfigChain | null;\n pass: Array;\n }> = [];\n\n for (let i = 0; i < rawPresets.length; i++) {\n const descriptor = rawPresets[i];\n if (descriptor.options !== false) {\n try {\n // eslint-disable-next-line no-var\n var preset = yield* loadPresetDescriptor(descriptor, presetContext);\n } catch (e) {\n if (e.code === \"BABEL_UNKNOWN_OPTION\") {\n checkNoUnwrappedItemOptionPairs(rawPresets, i, \"preset\", e);\n }\n throw e;\n }\n\n externalDependencies.push(preset.externalDependencies);\n\n // Presets normally run in reverse order, but if they\n // have their own pass they run after the presets\n // in the previous pass.\n if (descriptor.ownPass) {\n presets.push({ preset: preset.chain, pass: [] });\n } else {\n presets.unshift({\n preset: preset.chain,\n pass: pluginDescriptorsPass,\n });\n }\n }\n }\n\n // resolve presets\n if (presets.length > 0) {\n // The passes are created in the same order as the preset list, but are inserted before any\n // existing additional passes.\n pluginDescriptorsByPass.splice(\n 1,\n 0,\n ...presets.map(o => o.pass).filter(p => p !== pluginDescriptorsPass),\n );\n\n for (const { preset, pass } of presets) {\n if (!preset) return true;\n\n pass.push(...preset.plugins);\n\n const ignored = yield* recursePresetDescriptors(preset.presets, pass);\n if (ignored) return true;\n\n preset.options.forEach(opts => {\n mergeOptions(optionDefaults, opts);\n });\n }\n }\n },\n )(presetsDescriptors, pluginDescriptorsByPass[0]);\n\n if (ignored) return null;\n\n const opts: any = optionDefaults;\n mergeOptions(opts, options);\n\n const pluginContext: Context.FullPlugin = {\n ...presetContext,\n assumptions: opts.assumptions ?? {},\n };\n\n yield* enhanceError(context, function* loadPluginDescriptors() {\n pluginDescriptorsByPass[0].unshift(...initialPluginsDescriptors);\n\n for (const descs of pluginDescriptorsByPass) {\n const pass: Plugin[] = [];\n passes.push(pass);\n\n for (let i = 0; i < descs.length; i++) {\n const descriptor: UnloadedDescriptor = descs[i];\n if (descriptor.options !== false) {\n try {\n // eslint-disable-next-line no-var\n var plugin = yield* loadPluginDescriptor(descriptor, pluginContext);\n } catch (e) {\n if (e.code === \"BABEL_UNKNOWN_PLUGIN_PROPERTY\") {\n // print special message for `plugins: [\"@babel/foo\", { foo: \"option\" }]`\n checkNoUnwrappedItemOptionPairs(descs, i, \"plugin\", e);\n }\n throw e;\n }\n pass.push(plugin);\n\n externalDependencies.push(plugin.externalDependencies);\n }\n }\n }\n })();\n\n opts.plugins = passes[0];\n opts.presets = passes\n .slice(1)\n .filter(plugins => plugins.length > 0)\n .map(plugins => ({ plugins }));\n opts.passPerPreset = opts.presets.length > 0;\n\n return {\n options: opts,\n passes: passes,\n externalDependencies: freezeDeepArray(externalDependencies),\n };\n});\n\nfunction enhanceError(context: ConfigContext, fn: T): T {\n return function* (arg1: unknown, arg2: unknown) {\n try {\n return yield* fn(arg1, arg2);\n } catch (e) {\n // There are a few case where thrown errors will try to annotate themselves multiple times, so\n // to keep things simple we just bail out if re-wrapping the message.\n if (!/^\\[BABEL\\]/.test(e.message)) {\n e.message = `[BABEL] ${context.filename ?? \"unknown file\"}: ${\n e.message\n }`;\n }\n\n throw e;\n }\n } as any;\n}\n\n/**\n * Load a generic plugin/preset from the given descriptor loaded from the config object.\n */\nconst makeDescriptorLoader = (\n apiFactory: (\n cache: CacheConfigurator,\n externalDependencies: Array,\n ) => API,\n) =>\n makeWeakCache(function* (\n { value, options, dirname, alias }: UnloadedDescriptor,\n cache: CacheConfigurator,\n ): Handler {\n // Disabled presets should already have been filtered out\n if (options === false) throw new Error(\"Assertion failure\");\n\n options = options || {};\n\n const externalDependencies: Array = [];\n\n let item = value;\n if (typeof value === \"function\") {\n const factory = maybeAsync(\n value,\n `You appear to be using an async plugin/preset, but Babel has been called synchronously`,\n );\n\n const api = {\n ...context,\n ...apiFactory(cache, externalDependencies),\n };\n try {\n item = yield* factory(api, options, dirname);\n } catch (e) {\n if (alias) {\n e.message += ` (While processing: ${JSON.stringify(alias)})`;\n }\n throw e;\n }\n }\n\n if (!item || typeof item !== \"object\") {\n throw new Error(\"Plugin/Preset did not return an object.\");\n }\n\n if (isThenable(item)) {\n // @ts-expect-error - if we want to support async plugins\n yield* [];\n\n throw new Error(\n `You appear to be using a promise as a plugin, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, ` +\n `you may need to upgrade your @babel/core version. ` +\n `As an alternative, you can prefix the promise with \"await\". ` +\n `(While processing: ${JSON.stringify(alias)})`,\n );\n }\n\n if (\n externalDependencies.length > 0 &&\n (!cache.configured() || cache.mode() === \"forever\")\n ) {\n let error =\n `A plugin/preset has external untracked dependencies ` +\n `(${externalDependencies[0]}), but the cache `;\n if (!cache.configured()) {\n error += `has not been configured to be invalidated when the external dependencies change. `;\n } else {\n error += ` has been configured to never be invalidated. `;\n }\n error +=\n `Plugins/presets should configure their cache to be invalidated when the external ` +\n `dependencies change, for example using \\`api.cache.invalidate(() => ` +\n `statSync(filepath).mtimeMs)\\` or \\`api.cache.never()\\`\\n` +\n `(While processing: ${JSON.stringify(alias)})`;\n\n throw new Error(error);\n }\n\n return {\n value: item,\n options,\n dirname,\n alias,\n externalDependencies: freezeDeepArray(externalDependencies),\n };\n });\n\nconst pluginDescriptorLoader = makeDescriptorLoader<\n Context.SimplePlugin,\n PluginAPI\n>(makePluginAPI);\nconst presetDescriptorLoader = makeDescriptorLoader<\n Context.SimplePreset,\n PresetAPI\n>(makePresetAPI);\n\nconst instantiatePlugin = makeWeakCache(function* (\n { value, options, dirname, alias, externalDependencies }: LoadedDescriptor,\n cache: CacheConfigurator,\n): Handler {\n const pluginObj = validatePluginObject(value);\n\n const plugin = {\n ...pluginObj,\n };\n if (plugin.visitor) {\n plugin.visitor = traverse.explode({\n ...plugin.visitor,\n });\n }\n\n if (plugin.inherits) {\n const inheritsDescriptor: UnloadedDescriptor = {\n name: undefined,\n alias: `${alias}$inherits`,\n value: plugin.inherits,\n options,\n dirname,\n };\n\n const inherits = yield* forwardAsync(loadPluginDescriptor, run => {\n // If the inherited plugin changes, reinstantiate this plugin.\n return cache.invalidate(data => run(inheritsDescriptor, data));\n });\n\n plugin.pre = chain(inherits.pre, plugin.pre);\n plugin.post = chain(inherits.post, plugin.post);\n plugin.manipulateOptions = chain(\n inherits.manipulateOptions,\n plugin.manipulateOptions,\n );\n plugin.visitor = traverse.visitors.merge([\n inherits.visitor || {},\n plugin.visitor || {},\n ]);\n\n if (inherits.externalDependencies.length > 0) {\n if (externalDependencies.length === 0) {\n externalDependencies = inherits.externalDependencies;\n } else {\n externalDependencies = freezeDeepArray([\n externalDependencies,\n inherits.externalDependencies,\n ]);\n }\n }\n }\n\n return new Plugin(plugin, options, alias, externalDependencies);\n});\n\n/**\n * Instantiate a plugin for the given descriptor, returning the plugin/options pair.\n */\nfunction* loadPluginDescriptor(\n descriptor: UnloadedDescriptor,\n context: Context.SimplePlugin,\n): Handler {\n if (descriptor.value instanceof Plugin) {\n if (descriptor.options) {\n throw new Error(\n \"Passed options to an existing Plugin instance will not work.\",\n );\n }\n\n return descriptor.value;\n }\n\n return yield* instantiatePlugin(\n yield* pluginDescriptorLoader(descriptor, context),\n context,\n );\n}\n\nconst needsFilename = (val: unknown) => val && typeof val !== \"function\";\n\nconst validateIfOptionNeedsFilename = (\n options: ValidatedOptions,\n descriptor: UnloadedDescriptor,\n): void => {\n if (\n needsFilename(options.test) ||\n needsFilename(options.include) ||\n needsFilename(options.exclude)\n ) {\n const formattedPresetName = descriptor.name\n ? `\"${descriptor.name}\"`\n : \"/* your preset */\";\n throw new ConfigError(\n [\n `Preset ${formattedPresetName} requires a filename to be set when babel is called directly,`,\n `\\`\\`\\``,\n `babel.transformSync(code, { filename: 'file.ts', presets: [${formattedPresetName}] });`,\n `\\`\\`\\``,\n `See https://babeljs.io/docs/en/options#filename for more information.`,\n ].join(\"\\n\"),\n );\n }\n};\n\nconst validatePreset = (\n preset: PresetInstance,\n context: ConfigContext,\n descriptor: UnloadedDescriptor,\n): void => {\n if (!context.filename) {\n const { options } = preset;\n validateIfOptionNeedsFilename(options, descriptor);\n if (options.overrides) {\n options.overrides.forEach(overrideOptions =>\n validateIfOptionNeedsFilename(overrideOptions, descriptor),\n );\n }\n }\n};\n\nconst instantiatePreset = makeWeakCacheSync(\n ({\n value,\n dirname,\n alias,\n externalDependencies,\n }: LoadedDescriptor): PresetInstance => {\n return {\n options: validate(\"preset\", value),\n alias,\n dirname,\n externalDependencies,\n };\n },\n);\n\n/**\n * Generate a config object that will act as the root of a new nested config.\n */\nfunction* loadPresetDescriptor(\n descriptor: UnloadedDescriptor,\n context: Context.FullPreset,\n): Handler<{\n chain: ConfigChain | null;\n externalDependencies: ReadonlyDeepArray;\n}> {\n const preset = instantiatePreset(\n yield* presetDescriptorLoader(descriptor, context),\n );\n validatePreset(preset, context, descriptor);\n return {\n chain: yield* buildPresetChain(preset, context),\n externalDependencies: preset.externalDependencies,\n };\n}\n\nfunction chain(\n a: undefined | ((...args: Args) => void),\n b: undefined | ((...args: Args) => void),\n) {\n const fns = [a, b].filter(Boolean);\n if (fns.length <= 1) return fns[0];\n\n return function (this: unknown, ...args: unknown[]) {\n for (const fn of fns) {\n fn.apply(this, args);\n }\n };\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_gensync","data","require","_async","_util","context","_plugin","_item","_configChain","_deepArray","_traverse","_caching","_options","_plugins","_configApi","_partial","_configError","_default","gensync","loadFullConfig","inputOpts","_opts$assumptions","result","loadPrivatePartialConfig","options","fileHandling","optionDefaults","plugins","presets","Error","presetContext","Object","assign","targets","toDescriptor","item","desc","getItemDescriptor","presetsDescriptors","map","initialPluginsDescriptors","pluginDescriptorsByPass","passes","externalDependencies","ignored","enhanceError","recursePresetDescriptors","rawPresets","pluginDescriptorsPass","i","length","descriptor","preset","loadPresetDescriptor","e","code","checkNoUnwrappedItemOptionPairs","push","ownPass","chain","pass","unshift","splice","o","filter","p","forEach","opts","mergeOptions","pluginContext","assumptions","loadPluginDescriptors","descs","plugin","loadPluginDescriptor","slice","passPerPreset","freezeDeepArray","exports","default","fn","arg1","arg2","test","message","_context$filename","filename","makeDescriptorLoader","apiFactory","makeWeakCache","value","dirname","alias","cache","factory","maybeAsync","api","JSON","stringify","isThenable","configured","mode","error","pluginDescriptorLoader","makePluginAPI","presetDescriptorLoader","makePresetAPI","instantiatePlugin","pluginObj","validatePluginObject","visitor","traverse","explode","inherits","inheritsDescriptor","name","undefined","forwardAsync","run","invalidate","pre","post","manipulateOptions","visitors","merge","Plugin","needsFilename","val","validateIfOptionNeedsFilename","include","exclude","formattedPresetName","ConfigError","join","validatePreset","overrides","overrideOptions","instantiatePreset","makeWeakCacheSync","validate","buildPresetChain","a","b","fns","Boolean","args","apply"],"sources":["../../src/config/full.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\nimport { forwardAsync, maybeAsync, isThenable } from \"../gensync-utils/async\";\n\nimport { mergeOptions } from \"./util\";\nimport * as context from \"../index\";\nimport Plugin from \"./plugin\";\nimport { getItemDescriptor } from \"./item\";\nimport { buildPresetChain } from \"./config-chain\";\nimport { finalize as freezeDeepArray } from \"./helpers/deep-array\";\nimport type { DeepArray, ReadonlyDeepArray } from \"./helpers/deep-array\";\nimport type {\n ConfigContext,\n ConfigChain,\n PresetInstance,\n} from \"./config-chain\";\nimport type { UnloadedDescriptor } from \"./config-descriptors\";\nimport traverse from \"@babel/traverse\";\nimport { makeWeakCache, makeWeakCacheSync } from \"./caching\";\nimport type { CacheConfigurator } from \"./caching\";\nimport {\n validate,\n checkNoUnwrappedItemOptionPairs,\n} from \"./validation/options\";\nimport type { PluginItem } from \"./validation/options\";\nimport { validatePluginObject } from \"./validation/plugins\";\nimport { makePluginAPI, makePresetAPI } from \"./helpers/config-api\";\nimport type { PluginAPI, PresetAPI } from \"./helpers/config-api\";\n\nimport loadPrivatePartialConfig from \"./partial\";\nimport type { ValidatedOptions } from \"./validation/options\";\n\nimport type * as Context from \"./cache-contexts\";\nimport ConfigError from \"../errors/config-error\";\n\ntype LoadedDescriptor = {\n value: {};\n options: {};\n dirname: string;\n alias: string;\n externalDependencies: ReadonlyDeepArray;\n};\n\nexport type { InputOptions } from \"./validation/options\";\n\nexport type ResolvedConfig = {\n options: any;\n passes: PluginPasses;\n externalDependencies: ReadonlyDeepArray;\n};\n\nexport type { Plugin };\nexport type PluginPassList = Array;\nexport type PluginPasses = Array;\n\nexport default gensync(function* loadFullConfig(\n inputOpts: unknown,\n): Handler {\n const result = yield* loadPrivatePartialConfig(inputOpts);\n if (!result) {\n return null;\n }\n const { options, context, fileHandling } = result;\n\n if (fileHandling === \"ignored\") {\n return null;\n }\n\n const optionDefaults = {};\n\n const { plugins, presets } = options;\n\n if (!plugins || !presets) {\n throw new Error(\"Assertion failure - plugins and presets exist\");\n }\n\n const presetContext: Context.FullPreset = {\n ...context,\n targets: options.targets,\n };\n\n const toDescriptor = (item: PluginItem) => {\n const desc = getItemDescriptor(item);\n if (!desc) {\n throw new Error(\"Assertion failure - must be config item\");\n }\n\n return desc;\n };\n\n const presetsDescriptors = presets.map(toDescriptor);\n const initialPluginsDescriptors = plugins.map(toDescriptor);\n const pluginDescriptorsByPass: Array> = [[]];\n const passes: Array> = [];\n\n const externalDependencies: DeepArray = [];\n\n const ignored = yield* enhanceError(\n context,\n function* recursePresetDescriptors(\n rawPresets: Array,\n pluginDescriptorsPass: Array,\n ): Handler {\n const presets: Array<{\n preset: ConfigChain | null;\n pass: Array;\n }> = [];\n\n for (let i = 0; i < rawPresets.length; i++) {\n const descriptor = rawPresets[i];\n if (descriptor.options !== false) {\n try {\n // eslint-disable-next-line no-var\n var preset = yield* loadPresetDescriptor(descriptor, presetContext);\n } catch (e) {\n if (e.code === \"BABEL_UNKNOWN_OPTION\") {\n checkNoUnwrappedItemOptionPairs(rawPresets, i, \"preset\", e);\n }\n throw e;\n }\n\n externalDependencies.push(preset.externalDependencies);\n\n // Presets normally run in reverse order, but if they\n // have their own pass they run after the presets\n // in the previous pass.\n if (descriptor.ownPass) {\n presets.push({ preset: preset.chain, pass: [] });\n } else {\n presets.unshift({\n preset: preset.chain,\n pass: pluginDescriptorsPass,\n });\n }\n }\n }\n\n // resolve presets\n if (presets.length > 0) {\n // The passes are created in the same order as the preset list, but are inserted before any\n // existing additional passes.\n pluginDescriptorsByPass.splice(\n 1,\n 0,\n ...presets.map(o => o.pass).filter(p => p !== pluginDescriptorsPass),\n );\n\n for (const { preset, pass } of presets) {\n if (!preset) return true;\n\n pass.push(...preset.plugins);\n\n const ignored = yield* recursePresetDescriptors(preset.presets, pass);\n if (ignored) return true;\n\n preset.options.forEach(opts => {\n mergeOptions(optionDefaults, opts);\n });\n }\n }\n },\n )(presetsDescriptors, pluginDescriptorsByPass[0]);\n\n if (ignored) return null;\n\n const opts: any = optionDefaults;\n mergeOptions(opts, options);\n\n const pluginContext: Context.FullPlugin = {\n ...presetContext,\n assumptions: opts.assumptions ?? {},\n };\n\n yield* enhanceError(context, function* loadPluginDescriptors() {\n pluginDescriptorsByPass[0].unshift(...initialPluginsDescriptors);\n\n for (const descs of pluginDescriptorsByPass) {\n const pass: Plugin[] = [];\n passes.push(pass);\n\n for (let i = 0; i < descs.length; i++) {\n const descriptor: UnloadedDescriptor = descs[i];\n if (descriptor.options !== false) {\n try {\n // eslint-disable-next-line no-var\n var plugin = yield* loadPluginDescriptor(descriptor, pluginContext);\n } catch (e) {\n if (e.code === \"BABEL_UNKNOWN_PLUGIN_PROPERTY\") {\n // print special message for `plugins: [\"@babel/foo\", { foo: \"option\" }]`\n checkNoUnwrappedItemOptionPairs(descs, i, \"plugin\", e);\n }\n throw e;\n }\n pass.push(plugin);\n\n externalDependencies.push(plugin.externalDependencies);\n }\n }\n }\n })();\n\n opts.plugins = passes[0];\n opts.presets = passes\n .slice(1)\n .filter(plugins => plugins.length > 0)\n .map(plugins => ({ plugins }));\n opts.passPerPreset = opts.presets.length > 0;\n\n return {\n options: opts,\n passes: passes,\n externalDependencies: freezeDeepArray(externalDependencies),\n };\n});\n\nfunction enhanceError(context: ConfigContext, fn: T): T {\n return function* (arg1: unknown, arg2: unknown) {\n try {\n return yield* fn(arg1, arg2);\n } catch (e) {\n // There are a few case where thrown errors will try to annotate themselves multiple times, so\n // to keep things simple we just bail out if re-wrapping the message.\n if (!/^\\[BABEL\\]/.test(e.message)) {\n e.message = `[BABEL] ${context.filename ?? \"unknown file\"}: ${\n e.message\n }`;\n }\n\n throw e;\n }\n } as any;\n}\n\n/**\n * Load a generic plugin/preset from the given descriptor loaded from the config object.\n */\nconst makeDescriptorLoader = (\n apiFactory: (\n cache: CacheConfigurator,\n externalDependencies: Array,\n ) => API,\n) =>\n makeWeakCache(function* (\n { value, options, dirname, alias }: UnloadedDescriptor,\n cache: CacheConfigurator,\n ): Handler {\n // Disabled presets should already have been filtered out\n if (options === false) throw new Error(\"Assertion failure\");\n\n options = options || {};\n\n const externalDependencies: Array = [];\n\n let item = value;\n if (typeof value === \"function\") {\n const factory = maybeAsync(\n value,\n `You appear to be using an async plugin/preset, but Babel has been called synchronously`,\n );\n\n const api = {\n ...context,\n ...apiFactory(cache, externalDependencies),\n };\n try {\n item = yield* factory(api, options, dirname);\n } catch (e) {\n if (alias) {\n e.message += ` (While processing: ${JSON.stringify(alias)})`;\n }\n throw e;\n }\n }\n\n if (!item || typeof item !== \"object\") {\n throw new Error(\"Plugin/Preset did not return an object.\");\n }\n\n if (isThenable(item)) {\n // @ts-expect-error - if we want to support async plugins\n yield* [];\n\n throw new Error(\n `You appear to be using a promise as a plugin, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, ` +\n `you may need to upgrade your @babel/core version. ` +\n `As an alternative, you can prefix the promise with \"await\". ` +\n `(While processing: ${JSON.stringify(alias)})`,\n );\n }\n\n if (\n externalDependencies.length > 0 &&\n (!cache.configured() || cache.mode() === \"forever\")\n ) {\n let error =\n `A plugin/preset has external untracked dependencies ` +\n `(${externalDependencies[0]}), but the cache `;\n if (!cache.configured()) {\n error += `has not been configured to be invalidated when the external dependencies change. `;\n } else {\n error += ` has been configured to never be invalidated. `;\n }\n error +=\n `Plugins/presets should configure their cache to be invalidated when the external ` +\n `dependencies change, for example using \\`api.cache.invalidate(() => ` +\n `statSync(filepath).mtimeMs)\\` or \\`api.cache.never()\\`\\n` +\n `(While processing: ${JSON.stringify(alias)})`;\n\n throw new Error(error);\n }\n\n return {\n value: item,\n options,\n dirname,\n alias,\n externalDependencies: freezeDeepArray(externalDependencies),\n };\n });\n\nconst pluginDescriptorLoader = makeDescriptorLoader<\n Context.SimplePlugin,\n PluginAPI\n>(makePluginAPI);\nconst presetDescriptorLoader = makeDescriptorLoader<\n Context.SimplePreset,\n PresetAPI\n>(makePresetAPI);\n\nconst instantiatePlugin = makeWeakCache(function* (\n { value, options, dirname, alias, externalDependencies }: LoadedDescriptor,\n cache: CacheConfigurator,\n): Handler {\n const pluginObj = validatePluginObject(value);\n\n const plugin = {\n ...pluginObj,\n };\n if (plugin.visitor) {\n plugin.visitor = traverse.explode({\n ...plugin.visitor,\n });\n }\n\n if (plugin.inherits) {\n const inheritsDescriptor: UnloadedDescriptor = {\n name: undefined,\n alias: `${alias}$inherits`,\n value: plugin.inherits,\n options,\n dirname,\n };\n\n const inherits = yield* forwardAsync(loadPluginDescriptor, run => {\n // If the inherited plugin changes, reinstantiate this plugin.\n return cache.invalidate(data => run(inheritsDescriptor, data));\n });\n\n plugin.pre = chain(inherits.pre, plugin.pre);\n plugin.post = chain(inherits.post, plugin.post);\n plugin.manipulateOptions = chain(\n inherits.manipulateOptions,\n plugin.manipulateOptions,\n );\n plugin.visitor = traverse.visitors.merge([\n inherits.visitor || {},\n plugin.visitor || {},\n ]);\n\n if (inherits.externalDependencies.length > 0) {\n if (externalDependencies.length === 0) {\n externalDependencies = inherits.externalDependencies;\n } else {\n externalDependencies = freezeDeepArray([\n externalDependencies,\n inherits.externalDependencies,\n ]);\n }\n }\n }\n\n return new Plugin(plugin, options, alias, externalDependencies);\n});\n\n/**\n * Instantiate a plugin for the given descriptor, returning the plugin/options pair.\n */\nfunction* loadPluginDescriptor(\n descriptor: UnloadedDescriptor,\n context: Context.SimplePlugin,\n): Handler {\n if (descriptor.value instanceof Plugin) {\n if (descriptor.options) {\n throw new Error(\n \"Passed options to an existing Plugin instance will not work.\",\n );\n }\n\n return descriptor.value;\n }\n\n return yield* instantiatePlugin(\n yield* pluginDescriptorLoader(descriptor, context),\n context,\n );\n}\n\nconst needsFilename = (val: unknown) => val && typeof val !== \"function\";\n\nconst validateIfOptionNeedsFilename = (\n options: ValidatedOptions,\n descriptor: UnloadedDescriptor,\n): void => {\n if (\n needsFilename(options.test) ||\n needsFilename(options.include) ||\n needsFilename(options.exclude)\n ) {\n const formattedPresetName = descriptor.name\n ? `\"${descriptor.name}\"`\n : \"/* your preset */\";\n throw new ConfigError(\n [\n `Preset ${formattedPresetName} requires a filename to be set when babel is called directly,`,\n `\\`\\`\\``,\n `babel.transformSync(code, { filename: 'file.ts', presets: [${formattedPresetName}] });`,\n `\\`\\`\\``,\n `See https://babeljs.io/docs/en/options#filename for more information.`,\n ].join(\"\\n\"),\n );\n }\n};\n\nconst validatePreset = (\n preset: PresetInstance,\n context: ConfigContext,\n descriptor: UnloadedDescriptor,\n): void => {\n if (!context.filename) {\n const { options } = preset;\n validateIfOptionNeedsFilename(options, descriptor);\n if (options.overrides) {\n options.overrides.forEach(overrideOptions =>\n validateIfOptionNeedsFilename(overrideOptions, descriptor),\n );\n }\n }\n};\n\nconst instantiatePreset = makeWeakCacheSync(\n ({\n value,\n dirname,\n alias,\n externalDependencies,\n }: LoadedDescriptor): PresetInstance => {\n return {\n options: validate(\"preset\", value),\n alias,\n dirname,\n externalDependencies,\n };\n },\n);\n\n/**\n * Generate a config object that will act as the root of a new nested config.\n */\nfunction* loadPresetDescriptor(\n descriptor: UnloadedDescriptor,\n context: Context.FullPreset,\n): Handler<{\n chain: ConfigChain | null;\n externalDependencies: ReadonlyDeepArray;\n}> {\n const preset = instantiatePreset(\n yield* presetDescriptorLoader(descriptor, context),\n );\n validatePreset(preset, context, descriptor);\n return {\n chain: yield* buildPresetChain(preset, context),\n externalDependencies: preset.externalDependencies,\n };\n}\n\nfunction chain(\n a: undefined | ((...args: Args) => void),\n b: undefined | ((...args: Args) => void),\n) {\n const fns = [a, b].filter(Boolean);\n if (fns.length <= 1) return fns[0];\n\n return function (this: unknown, ...args: unknown[]) {\n for (const fn of fns) {\n fn.apply(this, args);\n }\n };\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/helpers/config-api.js b/node_modules/@babel/core/lib/config/helpers/config-api.js index da4958f4a..2cb8779f7 100644 --- a/node_modules/@babel/core/lib/config/helpers/config-api.js +++ b/node_modules/@babel/core/lib/config/helpers/config-api.js @@ -64,6 +64,7 @@ function assertVersion(range) { if (typeof range !== "string") { throw new Error("Expected string or integer value."); } + ; if (_semver().satisfies(_.version, range)) return; const limit = Error.stackTraceLimit; if (typeof limit === "number" && limit < 25) { diff --git a/node_modules/@babel/core/lib/config/helpers/config-api.js.map b/node_modules/@babel/core/lib/config/helpers/config-api.js.map index c7b094caf..9ea10e0d6 100644 --- a/node_modules/@babel/core/lib/config/helpers/config-api.js.map +++ b/node_modules/@babel/core/lib/config/helpers/config-api.js.map @@ -1 +1 @@ -{"version":3,"names":["_semver","data","require","_","_caching","makeConfigAPI","cache","env","value","using","envName","assertSimpleType","Array","isArray","some","entry","Error","caller","cb","version","coreVersion","simple","async","assertVersion","makePresetAPI","externalDependencies","targets","JSON","parse","stringify","addExternalDependency","ref","push","Object","assign","makePluginAPI","assumption","name","assumptions","range","Number","isInteger","semver","satisfies","limit","stackTraceLimit","err","code"],"sources":["../../../src/config/helpers/config-api.ts"],"sourcesContent":["import semver from \"semver\";\nimport type { Targets } from \"@babel/helper-compilation-targets\";\n\nimport { version as coreVersion } from \"../../\";\nimport { assertSimpleType } from \"../caching\";\nimport type {\n CacheConfigurator,\n SimpleCacheConfigurator,\n SimpleType,\n} from \"../caching\";\n\nimport type { AssumptionName, CallerMetadata } from \"../validation/options\";\n\nimport type * as Context from \"../cache-contexts\";\n\ntype EnvFunction = {\n (): string;\n (extractor: (babelEnv: string) => T): T;\n (envVar: string): boolean;\n (envVars: Array): boolean;\n};\n\ntype CallerFactory = (\n extractor: (callerMetadata: CallerMetadata | undefined) => unknown,\n) => SimpleType;\ntype TargetsFunction = () => Targets;\ntype AssumptionFunction = (name: AssumptionName) => boolean | undefined;\n\nexport type ConfigAPI = {\n version: string;\n cache: SimpleCacheConfigurator;\n env: EnvFunction;\n async: () => boolean;\n assertVersion: typeof assertVersion;\n caller?: CallerFactory;\n};\n\nexport type PresetAPI = {\n targets: TargetsFunction;\n addExternalDependency: (ref: string) => void;\n} & ConfigAPI;\n\nexport type PluginAPI = {\n assumption: AssumptionFunction;\n} & PresetAPI;\n\nexport function makeConfigAPI(\n cache: CacheConfigurator,\n): ConfigAPI {\n // TODO(@nicolo-ribaudo): If we remove the explicit type from `value`\n // and the `as any` type cast, TypeScript crashes in an infinite\n // recursion. After upgrading to TS4.7 and finishing the noImplicitAny\n // PR, we should check if it still crashes and report it to the TS team.\n const env: EnvFunction = ((\n value: string | string[] | ((babelEnv: string) => T),\n ) =>\n cache.using(data => {\n if (typeof value === \"undefined\") return data.envName;\n if (typeof value === \"function\") {\n return assertSimpleType(value(data.envName));\n }\n return (Array.isArray(value) ? value : [value]).some(entry => {\n if (typeof entry !== \"string\") {\n throw new Error(\"Unexpected non-string value\");\n }\n return entry === data.envName;\n });\n })) as any;\n\n const caller = (cb: {\n (CallerMetadata: CallerMetadata | undefined): SimpleType;\n }) => cache.using(data => assertSimpleType(cb(data.caller)));\n\n return {\n version: coreVersion,\n cache: cache.simple(),\n // Expose \".env()\" so people can easily get the same env that we expose using the \"env\" key.\n env,\n async: () => false,\n caller,\n assertVersion,\n };\n}\n\nexport function makePresetAPI(\n cache: CacheConfigurator,\n externalDependencies: Array,\n): PresetAPI {\n const targets = () =>\n // We are using JSON.parse/JSON.stringify because it's only possible to cache\n // primitive values. We can safely stringify the targets object because it\n // only contains strings as its properties.\n // Please make the Record and Tuple proposal happen!\n JSON.parse(cache.using(data => JSON.stringify(data.targets)));\n\n const addExternalDependency = (ref: string) => {\n externalDependencies.push(ref);\n };\n\n return { ...makeConfigAPI(cache), targets, addExternalDependency };\n}\n\nexport function makePluginAPI(\n cache: CacheConfigurator,\n externalDependencies: Array,\n): PluginAPI {\n const assumption = (name: string) =>\n cache.using(data => data.assumptions[name]);\n\n return { ...makePresetAPI(cache, externalDependencies), assumption };\n}\n\nfunction assertVersion(range: string | number): void {\n if (typeof range === \"number\") {\n if (!Number.isInteger(range)) {\n throw new Error(\"Expected string or integer value.\");\n }\n range = `^${range}.0.0-0`;\n }\n if (typeof range !== \"string\") {\n throw new Error(\"Expected string or integer value.\");\n }\n\n if (semver.satisfies(coreVersion, range)) return;\n\n const limit = Error.stackTraceLimit;\n\n if (typeof limit === \"number\" && limit < 25) {\n // Bump up the limit if needed so that users are more likely\n // to be able to see what is calling Babel.\n Error.stackTraceLimit = 25;\n }\n\n const err = new Error(\n `Requires Babel \"${range}\", but was loaded with \"${coreVersion}\". ` +\n `If you are sure you have a compatible version of @babel/core, ` +\n `it is likely that something in your build process is loading the ` +\n `wrong version. Inspect the stack trace of this error to look for ` +\n `the first entry that doesn't mention \"@babel/core\" or \"babel-core\" ` +\n `to see what is calling Babel.`,\n );\n\n if (typeof limit === \"number\") {\n Error.stackTraceLimit = limit;\n }\n\n throw Object.assign(err, {\n code: \"BABEL_VERSION_UNSUPPORTED\",\n version: coreVersion,\n range,\n });\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_semver","data","require","_","_caching","makeConfigAPI","cache","env","value","using","envName","assertSimpleType","Array","isArray","some","entry","Error","caller","cb","version","coreVersion","simple","async","assertVersion","makePresetAPI","externalDependencies","targets","JSON","parse","stringify","addExternalDependency","ref","push","Object","assign","makePluginAPI","assumption","name","assumptions","range","Number","isInteger","semver","satisfies","limit","stackTraceLimit","err","code"],"sources":["../../../src/config/helpers/config-api.ts"],"sourcesContent":["import semver from \"semver\";\nimport type { Targets } from \"@babel/helper-compilation-targets\";\n\nimport { version as coreVersion } from \"../../\";\nimport { assertSimpleType } from \"../caching\";\nimport type {\n CacheConfigurator,\n SimpleCacheConfigurator,\n SimpleType,\n} from \"../caching\";\n\nimport type { AssumptionName, CallerMetadata } from \"../validation/options\";\n\nimport type * as Context from \"../cache-contexts\";\n\ntype EnvFunction = {\n (): string;\n (extractor: (babelEnv: string) => T): T;\n (envVar: string): boolean;\n (envVars: Array): boolean;\n};\n\ntype CallerFactory = (\n extractor: (callerMetadata: CallerMetadata | undefined) => unknown,\n) => SimpleType;\ntype TargetsFunction = () => Targets;\ntype AssumptionFunction = (name: AssumptionName) => boolean | undefined;\n\nexport type ConfigAPI = {\n version: string;\n cache: SimpleCacheConfigurator;\n env: EnvFunction;\n async: () => boolean;\n assertVersion: typeof assertVersion;\n caller?: CallerFactory;\n};\n\nexport type PresetAPI = {\n targets: TargetsFunction;\n addExternalDependency: (ref: string) => void;\n} & ConfigAPI;\n\nexport type PluginAPI = {\n assumption: AssumptionFunction;\n} & PresetAPI;\n\nexport function makeConfigAPI(\n cache: CacheConfigurator,\n): ConfigAPI {\n // TODO(@nicolo-ribaudo): If we remove the explicit type from `value`\n // and the `as any` type cast, TypeScript crashes in an infinite\n // recursion. After upgrading to TS4.7 and finishing the noImplicitAny\n // PR, we should check if it still crashes and report it to the TS team.\n const env: EnvFunction = ((\n value: string | string[] | ((babelEnv: string) => T),\n ) =>\n cache.using(data => {\n if (typeof value === \"undefined\") return data.envName;\n if (typeof value === \"function\") {\n return assertSimpleType(value(data.envName));\n }\n return (Array.isArray(value) ? value : [value]).some(entry => {\n if (typeof entry !== \"string\") {\n throw new Error(\"Unexpected non-string value\");\n }\n return entry === data.envName;\n });\n })) as any;\n\n const caller = (cb: {\n (CallerMetadata: CallerMetadata | undefined): SimpleType;\n }) => cache.using(data => assertSimpleType(cb(data.caller)));\n\n return {\n version: coreVersion,\n cache: cache.simple(),\n // Expose \".env()\" so people can easily get the same env that we expose using the \"env\" key.\n env,\n async: () => false,\n caller,\n assertVersion,\n };\n}\n\nexport function makePresetAPI(\n cache: CacheConfigurator,\n externalDependencies: Array,\n): PresetAPI {\n const targets = () =>\n // We are using JSON.parse/JSON.stringify because it's only possible to cache\n // primitive values. We can safely stringify the targets object because it\n // only contains strings as its properties.\n // Please make the Record and Tuple proposal happen!\n JSON.parse(cache.using(data => JSON.stringify(data.targets)));\n\n const addExternalDependency = (ref: string) => {\n externalDependencies.push(ref);\n };\n\n return { ...makeConfigAPI(cache), targets, addExternalDependency };\n}\n\nexport function makePluginAPI(\n cache: CacheConfigurator,\n externalDependencies: Array,\n): PluginAPI {\n const assumption = (name: string) =>\n cache.using(data => data.assumptions[name]);\n\n return { ...makePresetAPI(cache, externalDependencies), assumption };\n}\n\nfunction assertVersion(range: string | number): void {\n if (typeof range === \"number\") {\n if (!Number.isInteger(range)) {\n throw new Error(\"Expected string or integer value.\");\n }\n range = `^${range}.0.0-0`;\n }\n if (typeof range !== \"string\") {\n throw new Error(\"Expected string or integer value.\");\n }\n // TODO(Babel 8): Update all the version checks\n if (process.env.BABEL_8_BREAKING) {\n range += ` || ^8.0.0-0`;\n }\n\n if (semver.satisfies(coreVersion, range)) return;\n\n const limit = Error.stackTraceLimit;\n\n if (typeof limit === \"number\" && limit < 25) {\n // Bump up the limit if needed so that users are more likely\n // to be able to see what is calling Babel.\n Error.stackTraceLimit = 25;\n }\n\n const err = new Error(\n `Requires Babel \"${range}\", but was loaded with \"${coreVersion}\". ` +\n `If you are sure you have a compatible version of @babel/core, ` +\n `it is likely that something in your build process is loading the ` +\n `wrong version. Inspect the stack trace of this error to look for ` +\n `the first entry that doesn't mention \"@babel/core\" or \"babel-core\" ` +\n `to see what is calling Babel.`,\n );\n\n if (typeof limit === \"number\") {\n Error.stackTraceLimit = limit;\n }\n\n throw Object.assign(err, {\n code: \"BABEL_VERSION_UNSUPPORTED\",\n version: coreVersion,\n range,\n });\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/helpers/deep-array.js.map b/node_modules/@babel/core/lib/config/helpers/deep-array.js.map index b1d521890..6dc9bea4d 100644 --- a/node_modules/@babel/core/lib/config/helpers/deep-array.js.map +++ b/node_modules/@babel/core/lib/config/helpers/deep-array.js.map @@ -1 +1 @@ -{"version":3,"names":["finalize","deepArr","Object","freeze","flattenToSet","arr","result","Set","stack","length","el","pop","Array","isArray","push","add"],"sources":["../../../src/config/helpers/deep-array.ts"],"sourcesContent":["export type DeepArray = Array>;\n\n// Just to make sure that DeepArray is not assignable to ReadonlyDeepArray\ndeclare const __marker: unique symbol;\nexport type ReadonlyDeepArray = ReadonlyArray> & {\n [__marker]: true;\n};\n\nexport function finalize(deepArr: DeepArray): ReadonlyDeepArray {\n return Object.freeze(deepArr) as ReadonlyDeepArray;\n}\n\nexport function flattenToSet(\n arr: ReadonlyDeepArray,\n): Set {\n const result = new Set();\n const stack = [arr];\n while (stack.length > 0) {\n for (const el of stack.pop()) {\n if (Array.isArray(el)) stack.push(el as ReadonlyDeepArray);\n else result.add(el as T);\n }\n }\n return result;\n}\n"],"mappings":";;;;;;;AAQO,SAASA,QAAQA,CAAIC,OAAqB,EAAwB;EACvE,OAAOC,MAAM,CAACC,MAAM,CAACF,OAAO,CAAC;AAC/B;AAEO,SAASG,YAAYA,CAC1BC,GAAyB,EACjB;EACR,MAAMC,MAAM,GAAG,IAAIC,GAAG,EAAK;EAC3B,MAAMC,KAAK,GAAG,CAACH,GAAG,CAAC;EACnB,OAAOG,KAAK,CAACC,MAAM,GAAG,CAAC,EAAE;IACvB,KAAK,MAAMC,EAAE,IAAIF,KAAK,CAACG,GAAG,EAAE,EAAE;MAC5B,IAAIC,KAAK,CAACC,OAAO,CAACH,EAAE,CAAC,EAAEF,KAAK,CAACM,IAAI,CAACJ,EAAE,CAAyB,CAAC,KACzDJ,MAAM,CAACS,GAAG,CAACL,EAAE,CAAM;IAC1B;EACF;EACA,OAAOJ,MAAM;AACf;AAAC"} \ No newline at end of file +{"version":3,"names":["finalize","deepArr","Object","freeze","flattenToSet","arr","result","Set","stack","length","el","pop","Array","isArray","push","add"],"sources":["../../../src/config/helpers/deep-array.ts"],"sourcesContent":["export type DeepArray = Array>;\n\n// Just to make sure that DeepArray is not assignable to ReadonlyDeepArray\ndeclare const __marker: unique symbol;\nexport type ReadonlyDeepArray = ReadonlyArray> & {\n [__marker]: true;\n};\n\nexport function finalize(deepArr: DeepArray): ReadonlyDeepArray {\n return Object.freeze(deepArr) as ReadonlyDeepArray;\n}\n\nexport function flattenToSet(\n arr: ReadonlyDeepArray,\n): Set {\n const result = new Set();\n const stack = [arr];\n while (stack.length > 0) {\n for (const el of stack.pop()) {\n if (Array.isArray(el)) stack.push(el as ReadonlyDeepArray);\n else result.add(el as T);\n }\n }\n return result;\n}\n"],"mappings":";;;;;;;AAQO,SAASA,QAAQA,CAAIC,OAAqB,EAAwB;EACvE,OAAOC,MAAM,CAACC,MAAM,CAACF,OAAO,CAAC;AAC/B;AAEO,SAASG,YAAYA,CAC1BC,GAAyB,EACjB;EACR,MAAMC,MAAM,GAAG,IAAIC,GAAG,CAAI,CAAC;EAC3B,MAAMC,KAAK,GAAG,CAACH,GAAG,CAAC;EACnB,OAAOG,KAAK,CAACC,MAAM,GAAG,CAAC,EAAE;IACvB,KAAK,MAAMC,EAAE,IAAIF,KAAK,CAACG,GAAG,CAAC,CAAC,EAAE;MAC5B,IAAIC,KAAK,CAACC,OAAO,CAACH,EAAE,CAAC,EAAEF,KAAK,CAACM,IAAI,CAACJ,EAA0B,CAAC,CAAC,KACzDJ,MAAM,CAACS,GAAG,CAACL,EAAO,CAAC;IAC1B;EACF;EACA,OAAOJ,MAAM;AACf;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/index.js.map b/node_modules/@babel/core/lib/config/index.js.map index d73e278da..f4dd3f373 100644 --- a/node_modules/@babel/core/lib/config/index.js.map +++ b/node_modules/@babel/core/lib/config/index.js.map @@ -1 +1 @@ -{"version":3,"names":["_gensync","data","require","_full","_partial","_item","loadOptionsRunner","gensync","opts","_config$options","config","loadFullConfig","options","createConfigItemRunner","createConfigItemImpl","maybeErrback","runner","argOrCallback","maybeCallback","arg","callback","undefined","sync","errback","loadPartialConfig","loadPartialConfigRunner","exports","loadPartialConfigSync","loadPartialConfigAsync","async","loadOptions","loadOptionsSync","loadOptionsAsync","createConfigItemSync","createConfigItemAsync","createConfigItem","target"],"sources":["../../src/config/index.ts"],"sourcesContent":["import gensync, { type Handler, type Callback } from \"gensync\";\n\nexport type {\n ResolvedConfig,\n InputOptions,\n PluginPasses,\n Plugin,\n} from \"./full\";\n\nimport type { PluginTarget } from \"./validation/options\";\n\nimport type {\n PluginAPI as basePluginAPI,\n PresetAPI as basePresetAPI,\n} from \"./helpers/config-api\";\nexport type { PluginObject } from \"./validation/plugins\";\ntype PluginAPI = basePluginAPI & typeof import(\"..\");\ntype PresetAPI = basePresetAPI & typeof import(\"..\");\nexport type { PluginAPI, PresetAPI };\n// todo: may need to refine PresetObject to be a subset of ValidatedOptions\nexport type {\n CallerMetadata,\n ValidatedOptions as PresetObject,\n} from \"./validation/options\";\n\nimport loadFullConfig, { type ResolvedConfig } from \"./full\";\nimport { loadPartialConfig as loadPartialConfigRunner } from \"./partial\";\n\nexport { loadFullConfig as default };\nexport type { PartialConfig } from \"./partial\";\n\nimport { createConfigItem as createConfigItemImpl } from \"./item\";\nimport type { ConfigItem } from \"./item\";\n\nconst loadOptionsRunner = gensync(function* (\n opts: unknown,\n): Handler {\n const config = yield* loadFullConfig(opts);\n // NOTE: We want to return \"null\" explicitly, while ?. alone returns undefined\n return config?.options ?? null;\n});\n\nconst createConfigItemRunner = gensync(createConfigItemImpl);\n\nconst maybeErrback =\n (runner: gensync.Gensync<[Arg], Return>) =>\n (argOrCallback: Arg | Callback, maybeCallback?: Callback) => {\n let arg: Arg | undefined;\n let callback: Callback;\n if (maybeCallback === undefined && typeof argOrCallback === \"function\") {\n callback = argOrCallback as Callback;\n arg = undefined;\n } else {\n callback = maybeCallback;\n arg = argOrCallback as Arg;\n }\n if (!callback) {\n return runner.sync(arg);\n }\n runner.errback(arg, callback);\n };\n\nexport const loadPartialConfig = maybeErrback(loadPartialConfigRunner);\nexport const loadPartialConfigSync = loadPartialConfigRunner.sync;\nexport const loadPartialConfigAsync = loadPartialConfigRunner.async;\n\nexport const loadOptions = maybeErrback(loadOptionsRunner);\nexport const loadOptionsSync = loadOptionsRunner.sync;\nexport const loadOptionsAsync = loadOptionsRunner.async;\n\nexport const createConfigItemSync = createConfigItemRunner.sync;\nexport const createConfigItemAsync = createConfigItemRunner.async;\nexport function createConfigItem(\n target: PluginTarget,\n options: Parameters[1],\n callback?: (err: Error, val: ConfigItem | null) => void,\n) {\n if (callback !== undefined) {\n createConfigItemRunner.errback(target, options, callback);\n } else if (typeof options === \"function\") {\n createConfigItemRunner.errback(target, undefined, callback);\n } else {\n return createConfigItemRunner.sync(target, options);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAyBA,IAAAE,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,KAAA,GAAAH,OAAA;AAGA,MAAMI,iBAAiB,GAAGC,UAAO,CAAC,WAChCC,IAAa,EACmB;EAAA,IAAAC,eAAA;EAChC,MAAMC,MAAM,GAAG,OAAO,IAAAC,aAAc,EAACH,IAAI,CAAC;EAE1C,QAAAC,eAAA,GAAOC,MAAM,oBAANA,MAAM,CAAEE,OAAO,YAAAH,eAAA,GAAI,IAAI;AAChC,CAAC,CAAC;AAEF,MAAMI,sBAAsB,GAAGN,UAAO,CAACO,sBAAoB,CAAC;AAE5D,MAAMC,YAAY,GACFC,MAAsC,IACpD,CAACC,aAAqC,EAAEC,aAAgC,KAAK;EAC3E,IAAIC,GAAoB;EACxB,IAAIC,QAA0B;EAC9B,IAAIF,aAAa,KAAKG,SAAS,IAAI,OAAOJ,aAAa,KAAK,UAAU,EAAE;IACtEG,QAAQ,GAAGH,aAAiC;IAC5CE,GAAG,GAAGE,SAAS;EACjB,CAAC,MAAM;IACLD,QAAQ,GAAGF,aAAa;IACxBC,GAAG,GAAGF,aAAoB;EAC5B;EACA,IAAI,CAACG,QAAQ,EAAE;IACb,OAAOJ,MAAM,CAACM,IAAI,CAACH,GAAG,CAAC;EACzB;EACAH,MAAM,CAACO,OAAO,CAACJ,GAAG,EAAEC,QAAQ,CAAC;AAC/B,CAAC;AAEI,MAAMI,iBAAiB,GAAGT,YAAY,CAACU,0BAAuB,CAAC;AAACC,OAAA,CAAAF,iBAAA,GAAAA,iBAAA;AAChE,MAAMG,qBAAqB,GAAGF,0BAAuB,CAACH,IAAI;AAACI,OAAA,CAAAC,qBAAA,GAAAA,qBAAA;AAC3D,MAAMC,sBAAsB,GAAGH,0BAAuB,CAACI,KAAK;AAACH,OAAA,CAAAE,sBAAA,GAAAA,sBAAA;AAE7D,MAAME,WAAW,GAAGf,YAAY,CAACT,iBAAiB,CAAC;AAACoB,OAAA,CAAAI,WAAA,GAAAA,WAAA;AACpD,MAAMC,eAAe,GAAGzB,iBAAiB,CAACgB,IAAI;AAACI,OAAA,CAAAK,eAAA,GAAAA,eAAA;AAC/C,MAAMC,gBAAgB,GAAG1B,iBAAiB,CAACuB,KAAK;AAACH,OAAA,CAAAM,gBAAA,GAAAA,gBAAA;AAEjD,MAAMC,oBAAoB,GAAGpB,sBAAsB,CAACS,IAAI;AAACI,OAAA,CAAAO,oBAAA,GAAAA,oBAAA;AACzD,MAAMC,qBAAqB,GAAGrB,sBAAsB,CAACgB,KAAK;AAACH,OAAA,CAAAQ,qBAAA,GAAAA,qBAAA;AAC3D,SAASC,gBAAgBA,CAC9BC,MAAoB,EACpBxB,OAAmD,EACnDQ,QAAuD,EACvD;EACA,IAAIA,QAAQ,KAAKC,SAAS,EAAE;IAC1BR,sBAAsB,CAACU,OAAO,CAACa,MAAM,EAAExB,OAAO,EAAEQ,QAAQ,CAAC;EAC3D,CAAC,MAAM,IAAI,OAAOR,OAAO,KAAK,UAAU,EAAE;IACxCC,sBAAsB,CAACU,OAAO,CAACa,MAAM,EAAEf,SAAS,EAAED,QAAQ,CAAC;EAC7D,CAAC,MAAM;IACL,OAAOP,sBAAsB,CAACS,IAAI,CAACc,MAAM,EAAExB,OAAO,CAAC;EACrD;AACF;AAAC"} \ No newline at end of file +{"version":3,"names":["_gensync","data","require","_full","_partial","_item","loadOptionsRunner","gensync","opts","_config$options","config","loadFullConfig","options","createConfigItemRunner","createConfigItemImpl","maybeErrback","runner","argOrCallback","maybeCallback","arg","callback","undefined","sync","errback","loadPartialConfig","loadPartialConfigRunner","exports","loadPartialConfigSync","loadPartialConfigAsync","async","loadOptions","loadOptionsSync","loadOptionsAsync","createConfigItemSync","createConfigItemAsync","createConfigItem","target"],"sources":["../../src/config/index.ts"],"sourcesContent":["import gensync, { type Handler, type Callback } from \"gensync\";\n\nexport type {\n ResolvedConfig,\n InputOptions,\n PluginPasses,\n Plugin,\n} from \"./full\";\n\nimport type { PluginTarget } from \"./validation/options\";\n\nimport type {\n PluginAPI as basePluginAPI,\n PresetAPI as basePresetAPI,\n} from \"./helpers/config-api\";\nexport type { PluginObject } from \"./validation/plugins\";\ntype PluginAPI = basePluginAPI & typeof import(\"..\");\ntype PresetAPI = basePresetAPI & typeof import(\"..\");\nexport type { PluginAPI, PresetAPI };\n// todo: may need to refine PresetObject to be a subset of ValidatedOptions\nexport type {\n CallerMetadata,\n ValidatedOptions as PresetObject,\n} from \"./validation/options\";\n\nimport loadFullConfig, { type ResolvedConfig } from \"./full\";\nimport { loadPartialConfig as loadPartialConfigRunner } from \"./partial\";\n\nexport { loadFullConfig as default };\nexport type { PartialConfig } from \"./partial\";\n\nimport { createConfigItem as createConfigItemImpl } from \"./item\";\nimport type { ConfigItem } from \"./item\";\n\nconst loadOptionsRunner = gensync(function* (\n opts: unknown,\n): Handler {\n const config = yield* loadFullConfig(opts);\n // NOTE: We want to return \"null\" explicitly, while ?. alone returns undefined\n return config?.options ?? null;\n});\n\nconst createConfigItemRunner = gensync(createConfigItemImpl);\n\nconst maybeErrback =\n (runner: gensync.Gensync<[Arg], Return>) =>\n (argOrCallback: Arg | Callback, maybeCallback?: Callback) => {\n let arg: Arg | undefined;\n let callback: Callback;\n if (maybeCallback === undefined && typeof argOrCallback === \"function\") {\n callback = argOrCallback as Callback;\n arg = undefined;\n } else {\n callback = maybeCallback;\n arg = argOrCallback as Arg;\n }\n if (!callback) {\n return runner.sync(arg);\n }\n runner.errback(arg, callback);\n };\n\nexport const loadPartialConfig = maybeErrback(loadPartialConfigRunner);\nexport const loadPartialConfigSync = loadPartialConfigRunner.sync;\nexport const loadPartialConfigAsync = loadPartialConfigRunner.async;\n\nexport const loadOptions = maybeErrback(loadOptionsRunner);\nexport const loadOptionsSync = loadOptionsRunner.sync;\nexport const loadOptionsAsync = loadOptionsRunner.async;\n\nexport const createConfigItemSync = createConfigItemRunner.sync;\nexport const createConfigItemAsync = createConfigItemRunner.async;\nexport function createConfigItem(\n target: PluginTarget,\n options: Parameters[1],\n callback?: (err: Error, val: ConfigItem | null) => void,\n) {\n if (callback !== undefined) {\n createConfigItemRunner.errback(target, options, callback);\n } else if (typeof options === \"function\") {\n createConfigItemRunner.errback(target, undefined, callback);\n } else {\n return createConfigItemRunner.sync(target, options);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAyBA,IAAAE,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,KAAA,GAAAH,OAAA;AAGA,MAAMI,iBAAiB,GAAGC,SAAMA,CAAC,CAAC,WAChCC,IAAa,EACmB;EAAA,IAAAC,eAAA;EAChC,MAAMC,MAAM,GAAG,OAAO,IAAAC,aAAc,EAACH,IAAI,CAAC;EAE1C,QAAAC,eAAA,GAAOC,MAAM,oBAANA,MAAM,CAAEE,OAAO,YAAAH,eAAA,GAAI,IAAI;AAChC,CAAC,CAAC;AAEF,MAAMI,sBAAsB,GAAGN,SAAMA,CAAC,CAACO,sBAAoB,CAAC;AAE5D,MAAMC,YAAY,GACFC,MAAsC,IACpD,CAACC,aAAqC,EAAEC,aAAgC,KAAK;EAC3E,IAAIC,GAAoB;EACxB,IAAIC,QAA0B;EAC9B,IAAIF,aAAa,KAAKG,SAAS,IAAI,OAAOJ,aAAa,KAAK,UAAU,EAAE;IACtEG,QAAQ,GAAGH,aAAiC;IAC5CE,GAAG,GAAGE,SAAS;EACjB,CAAC,MAAM;IACLD,QAAQ,GAAGF,aAAa;IACxBC,GAAG,GAAGF,aAAoB;EAC5B;EACA,IAAI,CAACG,QAAQ,EAAE;IACb,OAAOJ,MAAM,CAACM,IAAI,CAACH,GAAG,CAAC;EACzB;EACAH,MAAM,CAACO,OAAO,CAACJ,GAAG,EAAEC,QAAQ,CAAC;AAC/B,CAAC;AAEI,MAAMI,iBAAiB,GAAGT,YAAY,CAACU,0BAAuB,CAAC;AAACC,OAAA,CAAAF,iBAAA,GAAAA,iBAAA;AAChE,MAAMG,qBAAqB,GAAGF,0BAAuB,CAACH,IAAI;AAACI,OAAA,CAAAC,qBAAA,GAAAA,qBAAA;AAC3D,MAAMC,sBAAsB,GAAGH,0BAAuB,CAACI,KAAK;AAACH,OAAA,CAAAE,sBAAA,GAAAA,sBAAA;AAE7D,MAAME,WAAW,GAAGf,YAAY,CAACT,iBAAiB,CAAC;AAACoB,OAAA,CAAAI,WAAA,GAAAA,WAAA;AACpD,MAAMC,eAAe,GAAGzB,iBAAiB,CAACgB,IAAI;AAACI,OAAA,CAAAK,eAAA,GAAAA,eAAA;AAC/C,MAAMC,gBAAgB,GAAG1B,iBAAiB,CAACuB,KAAK;AAACH,OAAA,CAAAM,gBAAA,GAAAA,gBAAA;AAEjD,MAAMC,oBAAoB,GAAGpB,sBAAsB,CAACS,IAAI;AAACI,OAAA,CAAAO,oBAAA,GAAAA,oBAAA;AACzD,MAAMC,qBAAqB,GAAGrB,sBAAsB,CAACgB,KAAK;AAACH,OAAA,CAAAQ,qBAAA,GAAAA,qBAAA;AAC3D,SAASC,gBAAgBA,CAC9BC,MAAoB,EACpBxB,OAAmD,EACnDQ,QAAuD,EACvD;EACA,IAAIA,QAAQ,KAAKC,SAAS,EAAE;IAC1BR,sBAAsB,CAACU,OAAO,CAACa,MAAM,EAAExB,OAAO,EAAEQ,QAAQ,CAAC;EAC3D,CAAC,MAAM,IAAI,OAAOR,OAAO,KAAK,UAAU,EAAE;IACxCC,sBAAsB,CAACU,OAAO,CAACa,MAAM,EAAEf,SAAS,EAAED,QAAQ,CAAC;EAC7D,CAAC,MAAM;IACL,OAAOP,sBAAsB,CAACS,IAAI,CAACc,MAAM,EAAExB,OAAO,CAAC;EACrD;AACF;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/item.js.map b/node_modules/@babel/core/lib/config/item.js.map index fbb3610f6..d27d8b499 100644 --- a/node_modules/@babel/core/lib/config/item.js.map +++ b/node_modules/@babel/core/lib/config/item.js.map @@ -1 +1 @@ -{"version":3,"names":["_path","data","require","_configDescriptors","createItemFromDescriptor","desc","ConfigItem","createConfigItem","value","dirname","type","descriptor","createDescriptor","path","resolve","alias","CONFIG_ITEM_BRAND","Symbol","for","getItemDescriptor","item","_descriptor","undefined","constructor","options","name","file","Object","defineProperty","enumerable","request","resolved","freeze","prototype"],"sources":["../../src/config/item.ts"],"sourcesContent":["import type { Handler } from \"gensync\";\nimport type { PluginTarget, PluginOptions } from \"./validation/options\";\n\nimport path from \"path\";\nimport { createDescriptor } from \"./config-descriptors\";\n\nimport type { UnloadedDescriptor } from \"./config-descriptors\";\n\nexport function createItemFromDescriptor(desc: UnloadedDescriptor): ConfigItem {\n return new ConfigItem(desc);\n}\n\n/**\n * Create a config item using the same value format used in Babel's config\n * files. Items returned from this function should be cached by the caller\n * ideally, as recreating the config item will mean re-resolving the item\n * and re-evaluating the plugin/preset function.\n */\nexport function* createConfigItem(\n value:\n | PluginTarget\n | [PluginTarget, PluginOptions]\n | [PluginTarget, PluginOptions, string | void],\n {\n dirname = \".\",\n type,\n }: {\n dirname?: string;\n type?: \"preset\" | \"plugin\";\n } = {},\n): Handler {\n const descriptor = yield* createDescriptor(value, path.resolve(dirname), {\n type,\n alias: \"programmatic item\",\n });\n\n return createItemFromDescriptor(descriptor);\n}\n\nconst CONFIG_ITEM_BRAND = Symbol.for(\"@babel/core@7 - ConfigItem\");\n\nexport function getItemDescriptor(item: unknown): UnloadedDescriptor | void {\n if ((item as any)?.[CONFIG_ITEM_BRAND]) {\n return (item as ConfigItem)._descriptor;\n }\n\n return undefined;\n}\n\nexport type { ConfigItem };\n\n/**\n * A public representation of a plugin/preset that will _eventually_ be load.\n * Users can use this to interact with the results of a loaded Babel\n * configuration.\n *\n * Any changes to public properties of this class should be considered a\n * breaking change to Babel's API.\n */\nclass ConfigItem {\n /**\n * The private underlying descriptor that Babel actually cares about.\n * If you access this, you are a bad person.\n */\n _descriptor: UnloadedDescriptor;\n\n // TODO(Babel 8): Check if this symbol needs to be updated\n /**\n * Used to detect ConfigItem instances from other Babel instances.\n */\n [CONFIG_ITEM_BRAND] = true;\n\n /**\n * The resolved value of the item itself.\n */\n value: {} | Function;\n\n /**\n * The options, if any, that were passed to the item.\n * Mutating this will lead to undefined behavior.\n *\n * \"false\" means that this item has been disabled.\n */\n options: {} | void | false;\n\n /**\n * The directory that the options for this item are relative to.\n */\n dirname: string;\n\n /**\n * Get the name of the plugin, if the user gave it one.\n */\n name: string | void;\n\n /**\n * Data about the file that the item was loaded from, if Babel knows it.\n */\n file: {\n // The requested path, e.g. \"@babel/env\".\n request: string;\n // The resolved absolute path of the file.\n resolved: string;\n } | void;\n\n constructor(descriptor: UnloadedDescriptor) {\n // Make people less likely to stumble onto this if they are exploring\n // programmatically, and also make sure that if people happen to\n // pass the item through JSON.stringify, it doesn't show up.\n this._descriptor = descriptor;\n Object.defineProperty(this, \"_descriptor\", { enumerable: false });\n\n Object.defineProperty(this, CONFIG_ITEM_BRAND, { enumerable: false });\n\n this.value = this._descriptor.value;\n this.options = this._descriptor.options;\n this.dirname = this._descriptor.dirname;\n this.name = this._descriptor.name;\n this.file = this._descriptor.file\n ? {\n request: this._descriptor.file.request,\n resolved: this._descriptor.file.resolved,\n }\n : undefined;\n\n // Freeze the object to make it clear that people shouldn't expect mutating\n // this object to do anything. A new item should be created if they want\n // to change something.\n Object.freeze(this);\n }\n}\n\nObject.freeze(ConfigItem.prototype);\n"],"mappings":";;;;;;;;AAGA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,IAAAE,kBAAA,GAAAD,OAAA;AAIO,SAASE,wBAAwBA,CAACC,IAAwB,EAAc;EAC7E,OAAO,IAAIC,UAAU,CAACD,IAAI,CAAC;AAC7B;AAQO,UAAUE,gBAAgBA,CAC/BC,KAGgD,EAChD;EACEC,OAAO,GAAG,GAAG;EACbC;AAIF,CAAC,GAAG,CAAC,CAAC,EACe;EACrB,MAAMC,UAAU,GAAG,OAAO,IAAAC,mCAAgB,EAACJ,KAAK,EAAEK,OAAI,CAACC,OAAO,CAACL,OAAO,CAAC,EAAE;IACvEC,IAAI;IACJK,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,OAAOX,wBAAwB,CAACO,UAAU,CAAC;AAC7C;AAEA,MAAMK,iBAAiB,GAAGC,MAAM,CAACC,GAAG,CAAC,4BAA4B,CAAC;AAE3D,SAASC,iBAAiBA,CAACC,IAAa,EAA6B;EAC1E,IAAKA,IAAI,YAAJA,IAAI,CAAWJ,iBAAiB,CAAC,EAAE;IACtC,OAAQI,IAAI,CAAgBC,WAAW;EACzC;EAEA,OAAOC,SAAS;AAClB;AAYA,MAAMhB,UAAU,CAAC;EA8CfiB,WAAWA,CAACZ,UAA8B,EAAE;IAAA,KAzC5CU,WAAW;IAAA,KAMVL,iBAAiB,IAAI,IAAI;IAAA,KAK1BR,KAAK;IAAA,KAQLgB,OAAO;IAAA,KAKPf,OAAO;IAAA,KAKPgB,IAAI;IAAA,KAKJC,IAAI;IAWF,IAAI,CAACL,WAAW,GAAGV,UAAU;IAC7BgB,MAAM,CAACC,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE;MAAEC,UAAU,EAAE;IAAM,CAAC,CAAC;IAEjEF,MAAM,CAACC,cAAc,CAAC,IAAI,EAAEZ,iBAAiB,EAAE;MAAEa,UAAU,EAAE;IAAM,CAAC,CAAC;IAErE,IAAI,CAACrB,KAAK,GAAG,IAAI,CAACa,WAAW,CAACb,KAAK;IACnC,IAAI,CAACgB,OAAO,GAAG,IAAI,CAACH,WAAW,CAACG,OAAO;IACvC,IAAI,CAACf,OAAO,GAAG,IAAI,CAACY,WAAW,CAACZ,OAAO;IACvC,IAAI,CAACgB,IAAI,GAAG,IAAI,CAACJ,WAAW,CAACI,IAAI;IACjC,IAAI,CAACC,IAAI,GAAG,IAAI,CAACL,WAAW,CAACK,IAAI,GAC7B;MACEI,OAAO,EAAE,IAAI,CAACT,WAAW,CAACK,IAAI,CAACI,OAAO;MACtCC,QAAQ,EAAE,IAAI,CAACV,WAAW,CAACK,IAAI,CAACK;IAClC,CAAC,GACDT,SAAS;IAKbK,MAAM,CAACK,MAAM,CAAC,IAAI,CAAC;EACrB;AACF;AAEAL,MAAM,CAACK,MAAM,CAAC1B,UAAU,CAAC2B,SAAS,CAAC;AAAC"} \ No newline at end of file +{"version":3,"names":["_path","data","require","_configDescriptors","createItemFromDescriptor","desc","ConfigItem","createConfigItem","value","dirname","type","descriptor","createDescriptor","path","resolve","alias","CONFIG_ITEM_BRAND","Symbol","for","getItemDescriptor","item","_descriptor","undefined","constructor","options","name","file","Object","defineProperty","enumerable","request","resolved","freeze","prototype"],"sources":["../../src/config/item.ts"],"sourcesContent":["import type { Handler } from \"gensync\";\nimport type { PluginTarget, PluginOptions } from \"./validation/options\";\n\nimport path from \"path\";\nimport { createDescriptor } from \"./config-descriptors\";\n\nimport type { UnloadedDescriptor } from \"./config-descriptors\";\n\nexport function createItemFromDescriptor(desc: UnloadedDescriptor): ConfigItem {\n return new ConfigItem(desc);\n}\n\n/**\n * Create a config item using the same value format used in Babel's config\n * files. Items returned from this function should be cached by the caller\n * ideally, as recreating the config item will mean re-resolving the item\n * and re-evaluating the plugin/preset function.\n */\nexport function* createConfigItem(\n value:\n | PluginTarget\n | [PluginTarget, PluginOptions]\n | [PluginTarget, PluginOptions, string | void],\n {\n dirname = \".\",\n type,\n }: {\n dirname?: string;\n type?: \"preset\" | \"plugin\";\n } = {},\n): Handler {\n const descriptor = yield* createDescriptor(value, path.resolve(dirname), {\n type,\n alias: \"programmatic item\",\n });\n\n return createItemFromDescriptor(descriptor);\n}\n\nconst CONFIG_ITEM_BRAND = Symbol.for(\"@babel/core@7 - ConfigItem\");\n\nexport function getItemDescriptor(item: unknown): UnloadedDescriptor | void {\n if ((item as any)?.[CONFIG_ITEM_BRAND]) {\n return (item as ConfigItem)._descriptor;\n }\n\n return undefined;\n}\n\nexport type { ConfigItem };\n\n/**\n * A public representation of a plugin/preset that will _eventually_ be load.\n * Users can use this to interact with the results of a loaded Babel\n * configuration.\n *\n * Any changes to public properties of this class should be considered a\n * breaking change to Babel's API.\n */\nclass ConfigItem {\n /**\n * The private underlying descriptor that Babel actually cares about.\n * If you access this, you are a bad person.\n */\n _descriptor: UnloadedDescriptor;\n\n // TODO(Babel 9): Check if this symbol needs to be updated\n /**\n * Used to detect ConfigItem instances from other Babel instances.\n */\n [CONFIG_ITEM_BRAND] = true;\n\n /**\n * The resolved value of the item itself.\n */\n value: {} | Function;\n\n /**\n * The options, if any, that were passed to the item.\n * Mutating this will lead to undefined behavior.\n *\n * \"false\" means that this item has been disabled.\n */\n options: {} | void | false;\n\n /**\n * The directory that the options for this item are relative to.\n */\n dirname: string;\n\n /**\n * Get the name of the plugin, if the user gave it one.\n */\n name: string | void;\n\n /**\n * Data about the file that the item was loaded from, if Babel knows it.\n */\n file: {\n // The requested path, e.g. \"@babel/env\".\n request: string;\n // The resolved absolute path of the file.\n resolved: string;\n } | void;\n\n constructor(descriptor: UnloadedDescriptor) {\n // Make people less likely to stumble onto this if they are exploring\n // programmatically, and also make sure that if people happen to\n // pass the item through JSON.stringify, it doesn't show up.\n this._descriptor = descriptor;\n Object.defineProperty(this, \"_descriptor\", { enumerable: false });\n\n Object.defineProperty(this, CONFIG_ITEM_BRAND, { enumerable: false });\n\n this.value = this._descriptor.value;\n this.options = this._descriptor.options;\n this.dirname = this._descriptor.dirname;\n this.name = this._descriptor.name;\n this.file = this._descriptor.file\n ? {\n request: this._descriptor.file.request,\n resolved: this._descriptor.file.resolved,\n }\n : undefined;\n\n // Freeze the object to make it clear that people shouldn't expect mutating\n // this object to do anything. A new item should be created if they want\n // to change something.\n Object.freeze(this);\n }\n}\n\nObject.freeze(ConfigItem.prototype);\n"],"mappings":";;;;;;;;AAGA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,IAAAE,kBAAA,GAAAD,OAAA;AAIO,SAASE,wBAAwBA,CAACC,IAAwB,EAAc;EAC7E,OAAO,IAAIC,UAAU,CAACD,IAAI,CAAC;AAC7B;AAQO,UAAUE,gBAAgBA,CAC/BC,KAGgD,EAChD;EACEC,OAAO,GAAG,GAAG;EACbC;AAIF,CAAC,GAAG,CAAC,CAAC,EACe;EACrB,MAAMC,UAAU,GAAG,OAAO,IAAAC,mCAAgB,EAACJ,KAAK,EAAEK,MAAGA,CAAC,CAACC,OAAO,CAACL,OAAO,CAAC,EAAE;IACvEC,IAAI;IACJK,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,OAAOX,wBAAwB,CAACO,UAAU,CAAC;AAC7C;AAEA,MAAMK,iBAAiB,GAAGC,MAAM,CAACC,GAAG,CAAC,4BAA4B,CAAC;AAE3D,SAASC,iBAAiBA,CAACC,IAAa,EAA6B;EAC1E,IAAKA,IAAI,YAAJA,IAAI,CAAWJ,iBAAiB,CAAC,EAAE;IACtC,OAAQI,IAAI,CAAgBC,WAAW;EACzC;EAEA,OAAOC,SAAS;AAClB;AAYA,MAAMhB,UAAU,CAAC;EA8CfiB,WAAWA,CAACZ,UAA8B,EAAE;IAAA,KAzC5CU,WAAW;IAAA,KAMVL,iBAAiB,IAAI,IAAI;IAAA,KAK1BR,KAAK;IAAA,KAQLgB,OAAO;IAAA,KAKPf,OAAO;IAAA,KAKPgB,IAAI;IAAA,KAKJC,IAAI;IAWF,IAAI,CAACL,WAAW,GAAGV,UAAU;IAC7BgB,MAAM,CAACC,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE;MAAEC,UAAU,EAAE;IAAM,CAAC,CAAC;IAEjEF,MAAM,CAACC,cAAc,CAAC,IAAI,EAAEZ,iBAAiB,EAAE;MAAEa,UAAU,EAAE;IAAM,CAAC,CAAC;IAErE,IAAI,CAACrB,KAAK,GAAG,IAAI,CAACa,WAAW,CAACb,KAAK;IACnC,IAAI,CAACgB,OAAO,GAAG,IAAI,CAACH,WAAW,CAACG,OAAO;IACvC,IAAI,CAACf,OAAO,GAAG,IAAI,CAACY,WAAW,CAACZ,OAAO;IACvC,IAAI,CAACgB,IAAI,GAAG,IAAI,CAACJ,WAAW,CAACI,IAAI;IACjC,IAAI,CAACC,IAAI,GAAG,IAAI,CAACL,WAAW,CAACK,IAAI,GAC7B;MACEI,OAAO,EAAE,IAAI,CAACT,WAAW,CAACK,IAAI,CAACI,OAAO;MACtCC,QAAQ,EAAE,IAAI,CAACV,WAAW,CAACK,IAAI,CAACK;IAClC,CAAC,GACDT,SAAS;IAKbK,MAAM,CAACK,MAAM,CAAC,IAAI,CAAC;EACrB;AACF;AAEAL,MAAM,CAACK,MAAM,CAAC1B,UAAU,CAAC2B,SAAS,CAAC;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/partial.js.map b/node_modules/@babel/core/lib/config/partial.js.map index 58ab444f3..c889a28f4 100644 --- a/node_modules/@babel/core/lib/config/partial.js.map +++ b/node_modules/@babel/core/lib/config/partial.js.map @@ -1 +1 @@ -{"version":3,"names":["_path","data","require","_gensync","_plugin","_util","_item","_configChain","_environment","_options","_files","_resolveTargets","_excluded","_objectWithoutPropertiesLoose","source","excluded","target","sourceKeys","Object","keys","key","i","length","indexOf","resolveRootMode","rootDir","rootMode","upwardRootDir","findConfigUpwards","assign","Error","ROOT_CONFIG_FILENAMES","join","code","dirname","loadPrivatePartialConfig","inputOpts","Array","isArray","args","validate","envName","getEnv","cwd","root","caller","cloneInputAst","absoluteCwd","path","resolve","absoluteRootDir","filename","undefined","showConfigPath","resolveShowConfigPath","context","showConfig","configChain","buildRootChain","merged","assumptions","options","forEach","opts","mergeOptions","targets","resolveTargets","babelrc","configFile","browserslistConfigFile","passPerPreset","plugins","map","descriptor","createItemFromDescriptor","presets","fileHandling","ignore","config","files","loadPartialConfig","gensync","showIgnoredFiles","_opts","result","item","value","Plugin","PartialConfig","filepath","exports","constructor","babelignore","freeze","hasFilesystemConfig","prototype"],"sources":["../../src/config/partial.ts"],"sourcesContent":["import path from \"path\";\nimport gensync from \"gensync\";\nimport type { Handler } from \"gensync\";\nimport Plugin from \"./plugin\";\nimport { mergeOptions } from \"./util\";\nimport { createItemFromDescriptor } from \"./item\";\nimport { buildRootChain } from \"./config-chain\";\nimport type { ConfigContext, FileHandling } from \"./config-chain\";\nimport { getEnv } from \"./helpers/environment\";\nimport { validate } from \"./validation/options\";\n\nimport type {\n ValidatedOptions,\n NormalizedOptions,\n RootMode,\n} from \"./validation/options\";\n\nimport {\n findConfigUpwards,\n resolveShowConfigPath,\n ROOT_CONFIG_FILENAMES,\n} from \"./files\";\nimport type { ConfigFile, IgnoreFile } from \"./files\";\nimport { resolveTargets } from \"./resolve-targets\";\n\nfunction resolveRootMode(rootDir: string, rootMode: RootMode): string {\n switch (rootMode) {\n case \"root\":\n return rootDir;\n\n case \"upward-optional\": {\n const upwardRootDir = findConfigUpwards(rootDir);\n return upwardRootDir === null ? rootDir : upwardRootDir;\n }\n\n case \"upward\": {\n const upwardRootDir = findConfigUpwards(rootDir);\n if (upwardRootDir !== null) return upwardRootDir;\n\n throw Object.assign(\n new Error(\n `Babel was run with rootMode:\"upward\" but a root could not ` +\n `be found when searching upward from \"${rootDir}\".\\n` +\n `One of the following config files must be in the directory tree: ` +\n `\"${ROOT_CONFIG_FILENAMES.join(\", \")}\".`,\n ) as any,\n {\n code: \"BABEL_ROOT_NOT_FOUND\",\n dirname: rootDir,\n },\n );\n }\n default:\n throw new Error(`Assertion failure - unknown rootMode value.`);\n }\n}\n\ntype PrivPartialConfig = {\n options: NormalizedOptions;\n context: ConfigContext;\n fileHandling: FileHandling;\n ignore: IgnoreFile | void;\n babelrc: ConfigFile | void;\n config: ConfigFile | void;\n files: Set;\n};\n\nexport default function* loadPrivatePartialConfig(\n inputOpts: unknown,\n): Handler {\n if (\n inputOpts != null &&\n (typeof inputOpts !== \"object\" || Array.isArray(inputOpts))\n ) {\n throw new Error(\"Babel options must be an object, null, or undefined\");\n }\n\n const args = inputOpts ? validate(\"arguments\", inputOpts) : {};\n\n const {\n envName = getEnv(),\n cwd = \".\",\n root: rootDir = \".\",\n rootMode = \"root\",\n caller,\n cloneInputAst = true,\n } = args;\n const absoluteCwd = path.resolve(cwd);\n const absoluteRootDir = resolveRootMode(\n path.resolve(absoluteCwd, rootDir),\n rootMode,\n );\n\n const filename =\n typeof args.filename === \"string\"\n ? path.resolve(cwd, args.filename)\n : undefined;\n\n const showConfigPath = yield* resolveShowConfigPath(absoluteCwd);\n\n const context: ConfigContext = {\n filename,\n cwd: absoluteCwd,\n root: absoluteRootDir,\n envName,\n caller,\n showConfig: showConfigPath === filename,\n };\n\n const configChain = yield* buildRootChain(args, context);\n if (!configChain) return null;\n\n const merged: ValidatedOptions = {\n assumptions: {},\n };\n configChain.options.forEach(opts => {\n mergeOptions(merged as any, opts);\n });\n\n const options: NormalizedOptions = {\n ...merged,\n targets: resolveTargets(merged, absoluteRootDir),\n\n // Tack the passes onto the object itself so that, if this object is\n // passed back to Babel a second time, it will be in the right structure\n // to not change behavior.\n cloneInputAst,\n babelrc: false,\n configFile: false,\n browserslistConfigFile: false,\n passPerPreset: false,\n envName: context.envName,\n cwd: context.cwd,\n root: context.root,\n rootMode: \"root\",\n filename:\n typeof context.filename === \"string\" ? context.filename : undefined,\n\n plugins: configChain.plugins.map(descriptor =>\n createItemFromDescriptor(descriptor),\n ),\n presets: configChain.presets.map(descriptor =>\n createItemFromDescriptor(descriptor),\n ),\n };\n\n return {\n options,\n context,\n fileHandling: configChain.fileHandling,\n ignore: configChain.ignore,\n babelrc: configChain.babelrc,\n config: configChain.config,\n files: configChain.files,\n };\n}\n\ntype LoadPartialConfigOpts = {\n showIgnoredFiles?: boolean;\n};\n\nexport const loadPartialConfig = gensync(function* (\n opts?: LoadPartialConfigOpts,\n): Handler {\n let showIgnoredFiles = false;\n // We only extract showIgnoredFiles if opts is an object, so that\n // loadPrivatePartialConfig can throw the appropriate error if it's not.\n if (typeof opts === \"object\" && opts !== null && !Array.isArray(opts)) {\n ({ showIgnoredFiles, ...opts } = opts);\n }\n\n const result: PrivPartialConfig | undefined | null =\n yield* loadPrivatePartialConfig(opts);\n if (!result) return null;\n\n const { options, babelrc, ignore, config, fileHandling, files } = result;\n\n if (fileHandling === \"ignored\" && !showIgnoredFiles) {\n return null;\n }\n\n (options.plugins || []).forEach(item => {\n // @ts-expect-error todo(flow->ts): better type annotation for `item.value`\n if (item.value instanceof Plugin) {\n throw new Error(\n \"Passing cached plugin instances is not supported in \" +\n \"babel.loadPartialConfig()\",\n );\n }\n });\n\n return new PartialConfig(\n options,\n babelrc ? babelrc.filepath : undefined,\n ignore ? ignore.filepath : undefined,\n config ? config.filepath : undefined,\n fileHandling,\n files,\n );\n});\n\nexport type { PartialConfig };\n\nclass PartialConfig {\n /**\n * These properties are public, so any changes to them should be considered\n * a breaking change to Babel's API.\n */\n options: NormalizedOptions;\n babelrc: string | void;\n babelignore: string | void;\n config: string | void;\n fileHandling: FileHandling;\n files: Set;\n\n constructor(\n options: NormalizedOptions,\n babelrc: string | void,\n ignore: string | void,\n config: string | void,\n fileHandling: FileHandling,\n files: Set,\n ) {\n this.options = options;\n this.babelignore = ignore;\n this.babelrc = babelrc;\n this.config = config;\n this.fileHandling = fileHandling;\n this.files = files;\n\n // Freeze since this is a public API and it should be extremely obvious that\n // reassigning properties on here does nothing.\n Object.freeze(this);\n }\n\n /**\n * Returns true if there is a config file in the filesystem for this config.\n */\n hasFilesystemConfig(): boolean {\n return this.babelrc !== undefined || this.config !== undefined;\n }\n}\nObject.freeze(PartialConfig.prototype);\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_path","data","require","_gensync","_plugin","_util","_item","_configChain","_environment","_options","_files","_resolveTargets","_excluded","_objectWithoutPropertiesLoose","source","excluded","target","sourceKeys","Object","keys","key","i","length","indexOf","resolveRootMode","rootDir","rootMode","upwardRootDir","findConfigUpwards","assign","Error","ROOT_CONFIG_FILENAMES","join","code","dirname","loadPrivatePartialConfig","inputOpts","Array","isArray","args","validate","envName","getEnv","cwd","root","caller","cloneInputAst","absoluteCwd","path","resolve","absoluteRootDir","filename","undefined","showConfigPath","resolveShowConfigPath","context","showConfig","configChain","buildRootChain","merged","assumptions","options","forEach","opts","mergeOptions","targets","resolveTargets","babelrc","configFile","browserslistConfigFile","passPerPreset","plugins","map","descriptor","createItemFromDescriptor","presets","fileHandling","ignore","config","files","loadPartialConfig","gensync","showIgnoredFiles","_opts","result","item","value","Plugin","PartialConfig","filepath","exports","constructor","babelignore","freeze","hasFilesystemConfig","prototype"],"sources":["../../src/config/partial.ts"],"sourcesContent":["import path from \"path\";\nimport gensync from \"gensync\";\nimport type { Handler } from \"gensync\";\nimport Plugin from \"./plugin\";\nimport { mergeOptions } from \"./util\";\nimport { createItemFromDescriptor } from \"./item\";\nimport { buildRootChain } from \"./config-chain\";\nimport type { ConfigContext, FileHandling } from \"./config-chain\";\nimport { getEnv } from \"./helpers/environment\";\nimport { validate } from \"./validation/options\";\n\nimport type {\n ValidatedOptions,\n NormalizedOptions,\n RootMode,\n} from \"./validation/options\";\n\nimport {\n findConfigUpwards,\n resolveShowConfigPath,\n ROOT_CONFIG_FILENAMES,\n} from \"./files\";\nimport type { ConfigFile, IgnoreFile } from \"./files\";\nimport { resolveTargets } from \"./resolve-targets\";\n\nfunction resolveRootMode(rootDir: string, rootMode: RootMode): string {\n switch (rootMode) {\n case \"root\":\n return rootDir;\n\n case \"upward-optional\": {\n const upwardRootDir = findConfigUpwards(rootDir);\n return upwardRootDir === null ? rootDir : upwardRootDir;\n }\n\n case \"upward\": {\n const upwardRootDir = findConfigUpwards(rootDir);\n if (upwardRootDir !== null) return upwardRootDir;\n\n throw Object.assign(\n new Error(\n `Babel was run with rootMode:\"upward\" but a root could not ` +\n `be found when searching upward from \"${rootDir}\".\\n` +\n `One of the following config files must be in the directory tree: ` +\n `\"${ROOT_CONFIG_FILENAMES.join(\", \")}\".`,\n ) as any,\n {\n code: \"BABEL_ROOT_NOT_FOUND\",\n dirname: rootDir,\n },\n );\n }\n default:\n throw new Error(`Assertion failure - unknown rootMode value.`);\n }\n}\n\ntype PrivPartialConfig = {\n options: NormalizedOptions;\n context: ConfigContext;\n fileHandling: FileHandling;\n ignore: IgnoreFile | void;\n babelrc: ConfigFile | void;\n config: ConfigFile | void;\n files: Set;\n};\n\nexport default function* loadPrivatePartialConfig(\n inputOpts: unknown,\n): Handler {\n if (\n inputOpts != null &&\n (typeof inputOpts !== \"object\" || Array.isArray(inputOpts))\n ) {\n throw new Error(\"Babel options must be an object, null, or undefined\");\n }\n\n const args = inputOpts ? validate(\"arguments\", inputOpts) : {};\n\n const {\n envName = getEnv(),\n cwd = \".\",\n root: rootDir = \".\",\n rootMode = \"root\",\n caller,\n cloneInputAst = true,\n } = args;\n const absoluteCwd = path.resolve(cwd);\n const absoluteRootDir = resolveRootMode(\n path.resolve(absoluteCwd, rootDir),\n rootMode,\n );\n\n const filename =\n typeof args.filename === \"string\"\n ? path.resolve(cwd, args.filename)\n : undefined;\n\n const showConfigPath = yield* resolveShowConfigPath(absoluteCwd);\n\n const context: ConfigContext = {\n filename,\n cwd: absoluteCwd,\n root: absoluteRootDir,\n envName,\n caller,\n showConfig: showConfigPath === filename,\n };\n\n const configChain = yield* buildRootChain(args, context);\n if (!configChain) return null;\n\n const merged: ValidatedOptions = {\n assumptions: {},\n };\n configChain.options.forEach(opts => {\n mergeOptions(merged as any, opts);\n });\n\n const options: NormalizedOptions = {\n ...merged,\n targets: resolveTargets(merged, absoluteRootDir),\n\n // Tack the passes onto the object itself so that, if this object is\n // passed back to Babel a second time, it will be in the right structure\n // to not change behavior.\n cloneInputAst,\n babelrc: false,\n configFile: false,\n browserslistConfigFile: false,\n passPerPreset: false,\n envName: context.envName,\n cwd: context.cwd,\n root: context.root,\n rootMode: \"root\",\n filename:\n typeof context.filename === \"string\" ? context.filename : undefined,\n\n plugins: configChain.plugins.map(descriptor =>\n createItemFromDescriptor(descriptor),\n ),\n presets: configChain.presets.map(descriptor =>\n createItemFromDescriptor(descriptor),\n ),\n };\n\n return {\n options,\n context,\n fileHandling: configChain.fileHandling,\n ignore: configChain.ignore,\n babelrc: configChain.babelrc,\n config: configChain.config,\n files: configChain.files,\n };\n}\n\ntype LoadPartialConfigOpts = {\n showIgnoredFiles?: boolean;\n};\n\nexport const loadPartialConfig = gensync(function* (\n opts?: LoadPartialConfigOpts,\n): Handler {\n let showIgnoredFiles = false;\n // We only extract showIgnoredFiles if opts is an object, so that\n // loadPrivatePartialConfig can throw the appropriate error if it's not.\n if (typeof opts === \"object\" && opts !== null && !Array.isArray(opts)) {\n ({ showIgnoredFiles, ...opts } = opts);\n }\n\n const result: PrivPartialConfig | undefined | null =\n yield* loadPrivatePartialConfig(opts);\n if (!result) return null;\n\n const { options, babelrc, ignore, config, fileHandling, files } = result;\n\n if (fileHandling === \"ignored\" && !showIgnoredFiles) {\n return null;\n }\n\n (options.plugins || []).forEach(item => {\n // @ts-expect-error todo(flow->ts): better type annotation for `item.value`\n if (item.value instanceof Plugin) {\n throw new Error(\n \"Passing cached plugin instances is not supported in \" +\n \"babel.loadPartialConfig()\",\n );\n }\n });\n\n return new PartialConfig(\n options,\n babelrc ? babelrc.filepath : undefined,\n ignore ? ignore.filepath : undefined,\n config ? config.filepath : undefined,\n fileHandling,\n files,\n );\n});\n\nexport type { PartialConfig };\n\nclass PartialConfig {\n /**\n * These properties are public, so any changes to them should be considered\n * a breaking change to Babel's API.\n */\n options: NormalizedOptions;\n babelrc: string | void;\n babelignore: string | void;\n config: string | void;\n fileHandling: FileHandling;\n files: Set;\n\n constructor(\n options: NormalizedOptions,\n babelrc: string | void,\n ignore: string | void,\n config: string | void,\n fileHandling: FileHandling,\n files: Set,\n ) {\n this.options = options;\n this.babelignore = ignore;\n this.babelrc = babelrc;\n this.config = config;\n this.fileHandling = fileHandling;\n this.files = files;\n\n // Freeze since this is a public API and it should be extremely obvious that\n // reassigning properties on here does nothing.\n Object.freeze(this);\n }\n\n /**\n * Returns true if there is a config file in the filesystem for this config.\n */\n hasFilesystemConfig(): boolean {\n return this.babelrc !== undefined || this.config !== undefined;\n }\n}\nObject.freeze(PartialConfig.prototype);\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/pattern-to-regex.js.map b/node_modules/@babel/core/lib/config/pattern-to-regex.js.map index 4405f5b96..6ff196b7f 100644 --- a/node_modules/@babel/core/lib/config/pattern-to-regex.js.map +++ b/node_modules/@babel/core/lib/config/pattern-to-regex.js.map @@ -1 +1 @@ -{"version":3,"names":["_path","data","require","sep","path","endSep","substitution","starPat","starPatLast","starStarPat","starStarPatLast","escapeRegExp","string","replace","pathToPattern","pattern","dirname","parts","resolve","split","RegExp","map","part","i","last","length","indexOf","slice","join"],"sources":["../../src/config/pattern-to-regex.ts"],"sourcesContent":["import path from \"path\";\n\nconst sep = `\\\\${path.sep}`;\nconst endSep = `(?:${sep}|$)`;\n\nconst substitution = `[^${sep}]+`;\n\nconst starPat = `(?:${substitution}${sep})`;\nconst starPatLast = `(?:${substitution}${endSep})`;\n\nconst starStarPat = `${starPat}*?`;\nconst starStarPatLast = `${starPat}*?${starPatLast}?`;\n\nfunction escapeRegExp(string: string) {\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\");\n}\n\n/**\n * Implement basic pattern matching that will allow users to do the simple\n * tests with * and **. If users want full complex pattern matching, then can\n * always use regex matching, or function validation.\n */\nexport default function pathToPattern(\n pattern: string,\n dirname: string,\n): RegExp {\n const parts = path.resolve(dirname, pattern).split(path.sep);\n\n return new RegExp(\n [\n \"^\",\n ...parts.map((part, i) => {\n const last = i === parts.length - 1;\n\n // ** matches 0 or more path parts.\n if (part === \"**\") return last ? starStarPatLast : starStarPat;\n\n // * matches 1 path part.\n if (part === \"*\") return last ? starPatLast : starPat;\n\n // *.ext matches a wildcard with an extension.\n if (part.indexOf(\"*.\") === 0) {\n return (\n substitution + escapeRegExp(part.slice(1)) + (last ? endSep : sep)\n );\n }\n\n // Otherwise match the pattern text.\n return escapeRegExp(part) + (last ? endSep : sep);\n }),\n ].join(\"\"),\n );\n}\n"],"mappings":";;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,MAAME,GAAG,GAAI,KAAIC,OAAI,CAACD,GAAI,EAAC;AAC3B,MAAME,MAAM,GAAI,MAAKF,GAAI,KAAI;AAE7B,MAAMG,YAAY,GAAI,KAAIH,GAAI,IAAG;AAEjC,MAAMI,OAAO,GAAI,MAAKD,YAAa,GAAEH,GAAI,GAAE;AAC3C,MAAMK,WAAW,GAAI,MAAKF,YAAa,GAAED,MAAO,GAAE;AAElD,MAAMI,WAAW,GAAI,GAAEF,OAAQ,IAAG;AAClC,MAAMG,eAAe,GAAI,GAAEH,OAAQ,KAAIC,WAAY,GAAE;AAErD,SAASG,YAAYA,CAACC,MAAc,EAAE;EACpC,OAAOA,MAAM,CAACC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;AACtD;AAOe,SAASC,aAAaA,CACnCC,OAAe,EACfC,OAAe,EACP;EACR,MAAMC,KAAK,GAAGb,OAAI,CAACc,OAAO,CAACF,OAAO,EAAED,OAAO,CAAC,CAACI,KAAK,CAACf,OAAI,CAACD,GAAG,CAAC;EAE5D,OAAO,IAAIiB,MAAM,CACf,CACE,GAAG,EACH,GAAGH,KAAK,CAACI,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAK;IACxB,MAAMC,IAAI,GAAGD,CAAC,KAAKN,KAAK,CAACQ,MAAM,GAAG,CAAC;IAGnC,IAAIH,IAAI,KAAK,IAAI,EAAE,OAAOE,IAAI,GAAGd,eAAe,GAAGD,WAAW;IAG9D,IAAIa,IAAI,KAAK,GAAG,EAAE,OAAOE,IAAI,GAAGhB,WAAW,GAAGD,OAAO;IAGrD,IAAIe,IAAI,CAACI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;MAC5B,OACEpB,YAAY,GAAGK,YAAY,CAACW,IAAI,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAIH,IAAI,GAAGnB,MAAM,GAAGF,GAAG,CAAC;IAEtE;IAGA,OAAOQ,YAAY,CAACW,IAAI,CAAC,IAAIE,IAAI,GAAGnB,MAAM,GAAGF,GAAG,CAAC;EACnD,CAAC,CAAC,CACH,CAACyB,IAAI,CAAC,EAAE,CAAC,CACX;AACH;AAAC"} \ No newline at end of file +{"version":3,"names":["_path","data","require","sep","path","endSep","substitution","starPat","starPatLast","starStarPat","starStarPatLast","escapeRegExp","string","replace","pathToPattern","pattern","dirname","parts","resolve","split","RegExp","map","part","i","last","length","indexOf","slice","join"],"sources":["../../src/config/pattern-to-regex.ts"],"sourcesContent":["import path from \"path\";\n\nconst sep = `\\\\${path.sep}`;\nconst endSep = `(?:${sep}|$)`;\n\nconst substitution = `[^${sep}]+`;\n\nconst starPat = `(?:${substitution}${sep})`;\nconst starPatLast = `(?:${substitution}${endSep})`;\n\nconst starStarPat = `${starPat}*?`;\nconst starStarPatLast = `${starPat}*?${starPatLast}?`;\n\nfunction escapeRegExp(string: string) {\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\");\n}\n\n/**\n * Implement basic pattern matching that will allow users to do the simple\n * tests with * and **. If users want full complex pattern matching, then can\n * always use regex matching, or function validation.\n */\nexport default function pathToPattern(\n pattern: string,\n dirname: string,\n): RegExp {\n const parts = path.resolve(dirname, pattern).split(path.sep);\n\n return new RegExp(\n [\n \"^\",\n ...parts.map((part, i) => {\n const last = i === parts.length - 1;\n\n // ** matches 0 or more path parts.\n if (part === \"**\") return last ? starStarPatLast : starStarPat;\n\n // * matches 1 path part.\n if (part === \"*\") return last ? starPatLast : starPat;\n\n // *.ext matches a wildcard with an extension.\n if (part.indexOf(\"*.\") === 0) {\n return (\n substitution + escapeRegExp(part.slice(1)) + (last ? endSep : sep)\n );\n }\n\n // Otherwise match the pattern text.\n return escapeRegExp(part) + (last ? endSep : sep);\n }),\n ].join(\"\"),\n );\n}\n"],"mappings":";;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,MAAME,GAAG,GAAI,KAAIC,MAAGA,CAAC,CAACD,GAAI,EAAC;AAC3B,MAAME,MAAM,GAAI,MAAKF,GAAI,KAAI;AAE7B,MAAMG,YAAY,GAAI,KAAIH,GAAI,IAAG;AAEjC,MAAMI,OAAO,GAAI,MAAKD,YAAa,GAAEH,GAAI,GAAE;AAC3C,MAAMK,WAAW,GAAI,MAAKF,YAAa,GAAED,MAAO,GAAE;AAElD,MAAMI,WAAW,GAAI,GAAEF,OAAQ,IAAG;AAClC,MAAMG,eAAe,GAAI,GAAEH,OAAQ,KAAIC,WAAY,GAAE;AAErD,SAASG,YAAYA,CAACC,MAAc,EAAE;EACpC,OAAOA,MAAM,CAACC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;AACtD;AAOe,SAASC,aAAaA,CACnCC,OAAe,EACfC,OAAe,EACP;EACR,MAAMC,KAAK,GAAGb,MAAGA,CAAC,CAACc,OAAO,CAACF,OAAO,EAAED,OAAO,CAAC,CAACI,KAAK,CAACf,MAAGA,CAAC,CAACD,GAAG,CAAC;EAE5D,OAAO,IAAIiB,MAAM,CACf,CACE,GAAG,EACH,GAAGH,KAAK,CAACI,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAK;IACxB,MAAMC,IAAI,GAAGD,CAAC,KAAKN,KAAK,CAACQ,MAAM,GAAG,CAAC;IAGnC,IAAIH,IAAI,KAAK,IAAI,EAAE,OAAOE,IAAI,GAAGd,eAAe,GAAGD,WAAW;IAG9D,IAAIa,IAAI,KAAK,GAAG,EAAE,OAAOE,IAAI,GAAGhB,WAAW,GAAGD,OAAO;IAGrD,IAAIe,IAAI,CAACI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;MAC5B,OACEpB,YAAY,GAAGK,YAAY,CAACW,IAAI,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAIH,IAAI,GAAGnB,MAAM,GAAGF,GAAG,CAAC;IAEtE;IAGA,OAAOQ,YAAY,CAACW,IAAI,CAAC,IAAIE,IAAI,GAAGnB,MAAM,GAAGF,GAAG,CAAC;EACnD,CAAC,CAAC,CACH,CAACyB,IAAI,CAAC,EAAE,CACX,CAAC;AACH;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/printer.js.map b/node_modules/@babel/core/lib/config/printer.js.map index 1a823c06d..fedaf4c24 100644 --- a/node_modules/@babel/core/lib/config/printer.js.map +++ b/node_modules/@babel/core/lib/config/printer.js.map @@ -1 +1 @@ -{"version":3,"names":["_gensync","data","require","ChainFormatter","Programmatic","Config","exports","Formatter","title","type","callerName","filepath","loc","index","envName","optionsAndDescriptors","opt","content","Object","assign","options","overrides","env","pluginDescriptors","plugins","length","map","d","descriptorToConfig","presetDescriptors","presets","JSON","stringify","undefined","_d$file","name","file","request","value","toString","slice","ConfigPrinter","constructor","_stack","configure","enabled","push","format","config","output","configs","gensync","all","s","join"],"sources":["../../src/config/printer.ts"],"sourcesContent":["import gensync from \"gensync\";\n\nimport type { Handler } from \"gensync\";\n\nimport type {\n OptionsAndDescriptors,\n UnloadedDescriptor,\n} from \"./config-descriptors\";\n\n// todo: Use flow enums when @babel/transform-flow-types supports it\nexport const ChainFormatter = {\n Programmatic: 0,\n Config: 1,\n};\n\ntype PrintableConfig = {\n content: OptionsAndDescriptors;\n type: (typeof ChainFormatter)[keyof typeof ChainFormatter];\n callerName: string | undefined | null;\n filepath: string | undefined | null;\n index: number | undefined | null;\n envName: string | undefined | null;\n};\n\nconst Formatter = {\n title(\n type: (typeof ChainFormatter)[keyof typeof ChainFormatter],\n callerName?: string | null,\n filepath?: string | null,\n ): string {\n let title = \"\";\n if (type === ChainFormatter.Programmatic) {\n title = \"programmatic options\";\n if (callerName) {\n title += \" from \" + callerName;\n }\n } else {\n title = \"config \" + filepath;\n }\n return title;\n },\n loc(index?: number | null, envName?: string | null): string {\n let loc = \"\";\n if (index != null) {\n loc += `.overrides[${index}]`;\n }\n if (envName != null) {\n loc += `.env[\"${envName}\"]`;\n }\n return loc;\n },\n\n *optionsAndDescriptors(opt: OptionsAndDescriptors) {\n const content = { ...opt.options };\n // overrides and env will be printed as separated config items\n delete content.overrides;\n delete content.env;\n // resolve to descriptors\n const pluginDescriptors = [...(yield* opt.plugins())];\n if (pluginDescriptors.length) {\n content.plugins = pluginDescriptors.map(d => descriptorToConfig(d));\n }\n const presetDescriptors = [...(yield* opt.presets())];\n if (presetDescriptors.length) {\n content.presets = [...presetDescriptors].map(d => descriptorToConfig(d));\n }\n return JSON.stringify(content, undefined, 2);\n },\n};\n\nfunction descriptorToConfig(\n d: UnloadedDescriptor,\n): string | {} | Array {\n let name = d.file?.request;\n if (name == null) {\n if (typeof d.value === \"object\") {\n name = d.value;\n } else if (typeof d.value === \"function\") {\n // If the unloaded descriptor is a function, i.e. `plugins: [ require(\"my-plugin\") ]`,\n // we print the first 50 characters of the function source code and hopefully we can see\n // `name: 'my-plugin'` in the source\n name = `[Function: ${d.value.toString().slice(0, 50)} ... ]`;\n }\n }\n if (name == null) {\n name = \"[Unknown]\";\n }\n if (d.options === undefined) {\n return name;\n } else if (d.name == null) {\n return [name, d.options];\n } else {\n return [name, d.options, d.name];\n }\n}\n\nexport class ConfigPrinter {\n _stack: Array = [];\n configure(\n enabled: boolean,\n type: (typeof ChainFormatter)[keyof typeof ChainFormatter],\n {\n callerName,\n filepath,\n }: {\n callerName?: string;\n filepath?: string;\n },\n ) {\n if (!enabled) return () => {};\n return (\n content: OptionsAndDescriptors,\n index?: number | null,\n envName?: string | null,\n ) => {\n this._stack.push({\n type,\n callerName,\n filepath,\n content,\n index,\n envName,\n });\n };\n }\n static *format(config: PrintableConfig): Handler {\n let title = Formatter.title(\n config.type,\n config.callerName,\n config.filepath,\n );\n const loc = Formatter.loc(config.index, config.envName);\n if (loc) title += ` ${loc}`;\n const content = yield* Formatter.optionsAndDescriptors(config.content);\n return `${title}\\n${content}`;\n }\n\n *output(): Handler {\n if (this._stack.length === 0) return \"\";\n const configs = yield* gensync.all(\n this._stack.map(s => ConfigPrinter.format(s)),\n );\n return configs.join(\"\\n\\n\");\n }\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_gensync","data","require","ChainFormatter","Programmatic","Config","exports","Formatter","title","type","callerName","filepath","loc","index","envName","optionsAndDescriptors","opt","content","Object","assign","options","overrides","env","pluginDescriptors","plugins","length","map","d","descriptorToConfig","presetDescriptors","presets","JSON","stringify","undefined","_d$file","name","file","request","value","toString","slice","ConfigPrinter","constructor","_stack","configure","enabled","push","format","config","output","configs","gensync","all","s","join"],"sources":["../../src/config/printer.ts"],"sourcesContent":["import gensync from \"gensync\";\n\nimport type { Handler } from \"gensync\";\n\nimport type {\n OptionsAndDescriptors,\n UnloadedDescriptor,\n} from \"./config-descriptors\";\n\n// todo: Use flow enums when @babel/transform-flow-types supports it\nexport const ChainFormatter = {\n Programmatic: 0,\n Config: 1,\n};\n\ntype PrintableConfig = {\n content: OptionsAndDescriptors;\n type: (typeof ChainFormatter)[keyof typeof ChainFormatter];\n callerName: string | undefined | null;\n filepath: string | undefined | null;\n index: number | undefined | null;\n envName: string | undefined | null;\n};\n\nconst Formatter = {\n title(\n type: (typeof ChainFormatter)[keyof typeof ChainFormatter],\n callerName?: string | null,\n filepath?: string | null,\n ): string {\n let title = \"\";\n if (type === ChainFormatter.Programmatic) {\n title = \"programmatic options\";\n if (callerName) {\n title += \" from \" + callerName;\n }\n } else {\n title = \"config \" + filepath;\n }\n return title;\n },\n loc(index?: number | null, envName?: string | null): string {\n let loc = \"\";\n if (index != null) {\n loc += `.overrides[${index}]`;\n }\n if (envName != null) {\n loc += `.env[\"${envName}\"]`;\n }\n return loc;\n },\n\n *optionsAndDescriptors(opt: OptionsAndDescriptors) {\n const content = { ...opt.options };\n // overrides and env will be printed as separated config items\n delete content.overrides;\n delete content.env;\n // resolve to descriptors\n const pluginDescriptors = [...(yield* opt.plugins())];\n if (pluginDescriptors.length) {\n content.plugins = pluginDescriptors.map(d => descriptorToConfig(d));\n }\n const presetDescriptors = [...(yield* opt.presets())];\n if (presetDescriptors.length) {\n content.presets = [...presetDescriptors].map(d => descriptorToConfig(d));\n }\n return JSON.stringify(content, undefined, 2);\n },\n};\n\nfunction descriptorToConfig(\n d: UnloadedDescriptor,\n): string | {} | Array {\n let name = d.file?.request;\n if (name == null) {\n if (typeof d.value === \"object\") {\n name = d.value;\n } else if (typeof d.value === \"function\") {\n // If the unloaded descriptor is a function, i.e. `plugins: [ require(\"my-plugin\") ]`,\n // we print the first 50 characters of the function source code and hopefully we can see\n // `name: 'my-plugin'` in the source\n name = `[Function: ${d.value.toString().slice(0, 50)} ... ]`;\n }\n }\n if (name == null) {\n name = \"[Unknown]\";\n }\n if (d.options === undefined) {\n return name;\n } else if (d.name == null) {\n return [name, d.options];\n } else {\n return [name, d.options, d.name];\n }\n}\n\nexport class ConfigPrinter {\n _stack: Array = [];\n configure(\n enabled: boolean,\n type: (typeof ChainFormatter)[keyof typeof ChainFormatter],\n {\n callerName,\n filepath,\n }: {\n callerName?: string;\n filepath?: string;\n },\n ) {\n if (!enabled) return () => {};\n return (\n content: OptionsAndDescriptors,\n index?: number | null,\n envName?: string | null,\n ) => {\n this._stack.push({\n type,\n callerName,\n filepath,\n content,\n index,\n envName,\n });\n };\n }\n static *format(config: PrintableConfig): Handler {\n let title = Formatter.title(\n config.type,\n config.callerName,\n config.filepath,\n );\n const loc = Formatter.loc(config.index, config.envName);\n if (loc) title += ` ${loc}`;\n const content = yield* Formatter.optionsAndDescriptors(config.content);\n return `${title}\\n${content}`;\n }\n\n *output(): Handler {\n if (this._stack.length === 0) return \"\";\n const configs = yield* gensync.all(\n this._stack.map(s => ConfigPrinter.format(s)),\n );\n return configs.join(\"\\n\\n\");\n }\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/resolve-targets.js.map b/node_modules/@babel/core/lib/config/resolve-targets.js.map index d2dbd8421..3448677f0 100644 --- a/node_modules/@babel/core/lib/config/resolve-targets.js.map +++ b/node_modules/@babel/core/lib/config/resolve-targets.js.map @@ -1 +1 @@ -{"version":3,"names":["_path","data","require","_helperCompilationTargets","resolveBrowserslistConfigFile","browserslistConfigFile","configFileDir","path","resolve","resolveTargets","options","root","optTargets","targets","Array","isArray","browsers","Object","assign","esmodules","configFile","ignoreBrowserslistConfig","getTargets","configPath","browserslistEnv"],"sources":["../../src/config/resolve-targets.ts"],"sourcesContent":["type browserType = typeof import(\"./resolve-targets-browser\");\ntype nodeType = typeof import(\"./resolve-targets\");\n\n// Kind of gross, but essentially asserting that the exports of this module are the same as the\n// exports of index-browser, since this file may be replaced at bundle time with index-browser.\n({}) as any as browserType as nodeType;\n\nimport type { ValidatedOptions } from \"./validation/options\";\nimport path from \"path\";\nimport getTargets, {\n type InputTargets,\n} from \"@babel/helper-compilation-targets\";\n\nimport type { Targets } from \"@babel/helper-compilation-targets\";\n\nexport function resolveBrowserslistConfigFile(\n browserslistConfigFile: string,\n configFileDir: string,\n): string | undefined {\n return path.resolve(configFileDir, browserslistConfigFile);\n}\n\nexport function resolveTargets(\n options: ValidatedOptions,\n root: string,\n): Targets {\n const optTargets = options.targets;\n let targets: InputTargets;\n\n if (typeof optTargets === \"string\" || Array.isArray(optTargets)) {\n targets = { browsers: optTargets };\n } else if (optTargets) {\n if (\"esmodules\" in optTargets) {\n targets = { ...optTargets, esmodules: \"intersect\" };\n } else {\n // https://github.com/microsoft/TypeScript/issues/17002\n targets = optTargets as InputTargets;\n }\n }\n\n const { browserslistConfigFile } = options;\n let configFile;\n let ignoreBrowserslistConfig = false;\n if (typeof browserslistConfigFile === \"string\") {\n configFile = browserslistConfigFile;\n } else {\n ignoreBrowserslistConfig = browserslistConfigFile === false;\n }\n\n return getTargets(targets, {\n ignoreBrowserslistConfig,\n configFile,\n configPath: root,\n browserslistEnv: options.browserslistEnv,\n });\n}\n"],"mappings":";;;;;;;AAQA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,0BAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,yBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAJA,CAAC,CAAC,CAAC;AAUI,SAASG,6BAA6BA,CAC3CC,sBAA8B,EAC9BC,aAAqB,EACD;EACpB,OAAOC,OAAI,CAACC,OAAO,CAACF,aAAa,EAAED,sBAAsB,CAAC;AAC5D;AAEO,SAASI,cAAcA,CAC5BC,OAAyB,EACzBC,IAAY,EACH;EACT,MAAMC,UAAU,GAAGF,OAAO,CAACG,OAAO;EAClC,IAAIA,OAAqB;EAEzB,IAAI,OAAOD,UAAU,KAAK,QAAQ,IAAIE,KAAK,CAACC,OAAO,CAACH,UAAU,CAAC,EAAE;IAC/DC,OAAO,GAAG;MAAEG,QAAQ,EAAEJ;IAAW,CAAC;EACpC,CAAC,MAAM,IAAIA,UAAU,EAAE;IACrB,IAAI,WAAW,IAAIA,UAAU,EAAE;MAC7BC,OAAO,GAAAI,MAAA,CAAAC,MAAA,KAAQN,UAAU;QAAEO,SAAS,EAAE;MAAW,EAAE;IACrD,CAAC,MAAM;MAELN,OAAO,GAAGD,UAA0B;IACtC;EACF;EAEA,MAAM;IAAEP;EAAuB,CAAC,GAAGK,OAAO;EAC1C,IAAIU,UAAU;EACd,IAAIC,wBAAwB,GAAG,KAAK;EACpC,IAAI,OAAOhB,sBAAsB,KAAK,QAAQ,EAAE;IAC9Ce,UAAU,GAAGf,sBAAsB;EACrC,CAAC,MAAM;IACLgB,wBAAwB,GAAGhB,sBAAsB,KAAK,KAAK;EAC7D;EAEA,OAAO,IAAAiB,mCAAU,EAACT,OAAO,EAAE;IACzBQ,wBAAwB;IACxBD,UAAU;IACVG,UAAU,EAAEZ,IAAI;IAChBa,eAAe,EAAEd,OAAO,CAACc;EAC3B,CAAC,CAAC;AACJ;AAAC"} \ No newline at end of file +{"version":3,"names":["_path","data","require","_helperCompilationTargets","resolveBrowserslistConfigFile","browserslistConfigFile","configFileDir","path","resolve","resolveTargets","options","root","optTargets","targets","Array","isArray","browsers","Object","assign","esmodules","configFile","ignoreBrowserslistConfig","getTargets","configPath","browserslistEnv"],"sources":["../../src/config/resolve-targets.ts"],"sourcesContent":["type browserType = typeof import(\"./resolve-targets-browser\");\ntype nodeType = typeof import(\"./resolve-targets\");\n\n// Kind of gross, but essentially asserting that the exports of this module are the same as the\n// exports of index-browser, since this file may be replaced at bundle time with index-browser.\n({}) as any as browserType as nodeType;\n\nimport type { ValidatedOptions } from \"./validation/options\";\nimport path from \"path\";\nimport getTargets, {\n type InputTargets,\n} from \"@babel/helper-compilation-targets\";\n\nimport type { Targets } from \"@babel/helper-compilation-targets\";\n\nexport function resolveBrowserslistConfigFile(\n browserslistConfigFile: string,\n configFileDir: string,\n): string | undefined {\n return path.resolve(configFileDir, browserslistConfigFile);\n}\n\nexport function resolveTargets(\n options: ValidatedOptions,\n root: string,\n): Targets {\n const optTargets = options.targets;\n let targets: InputTargets;\n\n if (typeof optTargets === \"string\" || Array.isArray(optTargets)) {\n targets = { browsers: optTargets };\n } else if (optTargets) {\n if (\"esmodules\" in optTargets) {\n targets = { ...optTargets, esmodules: \"intersect\" };\n } else {\n // https://github.com/microsoft/TypeScript/issues/17002\n targets = optTargets as InputTargets;\n }\n }\n\n const { browserslistConfigFile } = options;\n let configFile;\n let ignoreBrowserslistConfig = false;\n if (typeof browserslistConfigFile === \"string\") {\n configFile = browserslistConfigFile;\n } else {\n ignoreBrowserslistConfig = browserslistConfigFile === false;\n }\n\n return getTargets(targets, {\n ignoreBrowserslistConfig,\n configFile,\n configPath: root,\n browserslistEnv: options.browserslistEnv,\n });\n}\n"],"mappings":";;;;;;;AAQA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,0BAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,yBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAJA,CAAC,CAAC,CAAC;AAUI,SAASG,6BAA6BA,CAC3CC,sBAA8B,EAC9BC,aAAqB,EACD;EACpB,OAAOC,MAAGA,CAAC,CAACC,OAAO,CAACF,aAAa,EAAED,sBAAsB,CAAC;AAC5D;AAEO,SAASI,cAAcA,CAC5BC,OAAyB,EACzBC,IAAY,EACH;EACT,MAAMC,UAAU,GAAGF,OAAO,CAACG,OAAO;EAClC,IAAIA,OAAqB;EAEzB,IAAI,OAAOD,UAAU,KAAK,QAAQ,IAAIE,KAAK,CAACC,OAAO,CAACH,UAAU,CAAC,EAAE;IAC/DC,OAAO,GAAG;MAAEG,QAAQ,EAAEJ;IAAW,CAAC;EACpC,CAAC,MAAM,IAAIA,UAAU,EAAE;IACrB,IAAI,WAAW,IAAIA,UAAU,EAAE;MAC7BC,OAAO,GAAAI,MAAA,CAAAC,MAAA,KAAQN,UAAU;QAAEO,SAAS,EAAE;MAAW,EAAE;IACrD,CAAC,MAAM;MAELN,OAAO,GAAGD,UAA0B;IACtC;EACF;EAEA,MAAM;IAAEP;EAAuB,CAAC,GAAGK,OAAO;EAC1C,IAAIU,UAAU;EACd,IAAIC,wBAAwB,GAAG,KAAK;EACpC,IAAI,OAAOhB,sBAAsB,KAAK,QAAQ,EAAE;IAC9Ce,UAAU,GAAGf,sBAAsB;EACrC,CAAC,MAAM;IACLgB,wBAAwB,GAAGhB,sBAAsB,KAAK,KAAK;EAC7D;EAEA,OAAO,IAAAiB,mCAAU,EAACT,OAAO,EAAE;IACzBQ,wBAAwB;IACxBD,UAAU;IACVG,UAAU,EAAEZ,IAAI;IAChBa,eAAe,EAAEd,OAAO,CAACc;EAC3B,CAAC,CAAC;AACJ;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/validation/option-assertions.js.map b/node_modules/@babel/core/lib/config/validation/option-assertions.js.map index d86f0025b..9f440d5b1 100644 --- a/node_modules/@babel/core/lib/config/validation/option-assertions.js.map +++ b/node_modules/@babel/core/lib/config/validation/option-assertions.js.map @@ -1 +1 @@ -{"version":3,"names":["_helperCompilationTargets","data","require","_options","msg","loc","type","parent","name","index","JSON","stringify","Error","access","assertRootMode","value","undefined","assertSourceMaps","assertCompact","assertSourceType","assertCallerMetadata","obj","assertObject","prop","Object","keys","propLoc","assertInputSourceMap","assertString","assertFunction","assertBoolean","Array","isArray","assertArray","assertIgnoreList","arr","forEach","item","i","assertIgnoreItem","RegExp","assertConfigApplicableTest","checkValidTest","assertConfigFileSearch","assertBabelrcSearch","assertPluginList","assertPluginItem","length","assertPluginTarget","opts","assertTargets","isBrowsersQueryValid","browsersLoc","esmodulesLoc","assertBrowsersList","browsers","esmodules","key","val","subLoc","hasOwnProperty","call","TargetNames","validTargets","join","assertBrowserVersion","Math","round","assertAssumptions","root","inPreset","source","assumptionsNames","has"],"sources":["../../../src/config/validation/option-assertions.ts"],"sourcesContent":["import {\n isBrowsersQueryValid,\n TargetNames,\n} from \"@babel/helper-compilation-targets\";\n\nimport type {\n ConfigFileSearch,\n BabelrcSearch,\n IgnoreList,\n IgnoreItem,\n PluginList,\n PluginItem,\n PluginTarget,\n ConfigApplicableTest,\n SourceMapsOption,\n SourceTypeOption,\n CompactOption,\n RootInputSourceMapOption,\n NestingPath,\n CallerMetadata,\n RootMode,\n TargetsListOrObject,\n AssumptionName,\n} from \"./options\";\n\nimport { assumptionsNames } from \"./options\";\n\nexport type { RootPath } from \"./options\";\n\nexport type ValidatorSet = {\n [name: string]: Validator;\n};\n\nexport type Validator = (loc: OptionPath, value: unknown) => T;\n\nexport function msg(loc: NestingPath | GeneralPath): string {\n switch (loc.type) {\n case \"root\":\n return ``;\n case \"env\":\n return `${msg(loc.parent)}.env[\"${loc.name}\"]`;\n case \"overrides\":\n return `${msg(loc.parent)}.overrides[${loc.index}]`;\n case \"option\":\n return `${msg(loc.parent)}.${loc.name}`;\n case \"access\":\n return `${msg(loc.parent)}[${JSON.stringify(loc.name)}]`;\n default:\n // @ts-expect-error should not happen when code is type checked\n throw new Error(`Assertion failure: Unknown type ${loc.type}`);\n }\n}\n\nexport function access(loc: GeneralPath, name: string | number): AccessPath {\n return {\n type: \"access\",\n name,\n parent: loc,\n };\n}\n\nexport type OptionPath = Readonly<{\n type: \"option\";\n name: string;\n parent: NestingPath;\n}>;\ntype AccessPath = Readonly<{\n type: \"access\";\n name: string | number;\n parent: GeneralPath;\n}>;\ntype GeneralPath = OptionPath | AccessPath;\n\nexport function assertRootMode(\n loc: OptionPath,\n value: unknown,\n): RootMode | void {\n if (\n value !== undefined &&\n value !== \"root\" &&\n value !== \"upward\" &&\n value !== \"upward-optional\"\n ) {\n throw new Error(\n `${msg(loc)} must be a \"root\", \"upward\", \"upward-optional\" or undefined`,\n );\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertSourceMaps(\n loc: OptionPath,\n value: unknown,\n): SourceMapsOption | void {\n if (\n value !== undefined &&\n typeof value !== \"boolean\" &&\n value !== \"inline\" &&\n value !== \"both\"\n ) {\n throw new Error(\n `${msg(loc)} must be a boolean, \"inline\", \"both\", or undefined`,\n );\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertCompact(\n loc: OptionPath,\n value: unknown,\n): CompactOption | void {\n if (value !== undefined && typeof value !== \"boolean\" && value !== \"auto\") {\n throw new Error(`${msg(loc)} must be a boolean, \"auto\", or undefined`);\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertSourceType(\n loc: OptionPath,\n value: unknown,\n): SourceTypeOption | void {\n if (\n value !== undefined &&\n value !== \"module\" &&\n value !== \"script\" &&\n value !== \"unambiguous\"\n ) {\n throw new Error(\n `${msg(loc)} must be \"module\", \"script\", \"unambiguous\", or undefined`,\n );\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertCallerMetadata(\n loc: OptionPath,\n value: unknown,\n): CallerMetadata | undefined {\n const obj = assertObject(loc, value);\n if (obj) {\n if (typeof obj.name !== \"string\") {\n throw new Error(\n `${msg(loc)} set but does not contain \"name\" property string`,\n );\n }\n\n for (const prop of Object.keys(obj)) {\n const propLoc = access(loc, prop);\n const value = obj[prop];\n if (\n value != null &&\n typeof value !== \"boolean\" &&\n typeof value !== \"string\" &&\n typeof value !== \"number\"\n ) {\n // NOTE(logan): I'm limiting the type here so that we can guarantee that\n // the \"caller\" value will serialize to JSON nicely. We can always\n // allow more complex structures later though.\n throw new Error(\n `${msg(\n propLoc,\n )} must be null, undefined, a boolean, a string, or a number.`,\n );\n }\n }\n }\n // @ts-expect-error todo(flow->ts)\n return value;\n}\n\nexport function assertInputSourceMap(\n loc: OptionPath,\n value: unknown,\n): RootInputSourceMapOption | void {\n if (\n value !== undefined &&\n typeof value !== \"boolean\" &&\n (typeof value !== \"object\" || !value)\n ) {\n throw new Error(`${msg(loc)} must be a boolean, object, or undefined`);\n }\n return value;\n}\n\nexport function assertString(loc: GeneralPath, value: unknown): string | void {\n if (value !== undefined && typeof value !== \"string\") {\n throw new Error(`${msg(loc)} must be a string, or undefined`);\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertFunction(\n loc: GeneralPath,\n value: unknown,\n): Function | void {\n if (value !== undefined && typeof value !== \"function\") {\n throw new Error(`${msg(loc)} must be a function, or undefined`);\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertBoolean(\n loc: GeneralPath,\n value: unknown,\n): boolean | void {\n if (value !== undefined && typeof value !== \"boolean\") {\n throw new Error(`${msg(loc)} must be a boolean, or undefined`);\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertObject(\n loc: GeneralPath,\n value: unknown,\n): { readonly [key: string]: unknown } | void {\n if (\n value !== undefined &&\n (typeof value !== \"object\" || Array.isArray(value) || !value)\n ) {\n throw new Error(`${msg(loc)} must be an object, or undefined`);\n }\n // @ts-expect-error todo(flow->ts) value is still typed as unknown, also assert function typically should not return a value\n return value;\n}\n\nexport function assertArray(\n loc: GeneralPath,\n value: Array | undefined | null,\n): ReadonlyArray | undefined | null {\n if (value != null && !Array.isArray(value)) {\n throw new Error(`${msg(loc)} must be an array, or undefined`);\n }\n return value;\n}\n\nexport function assertIgnoreList(\n loc: OptionPath,\n value: unknown[] | undefined,\n): IgnoreList | void {\n const arr = assertArray(loc, value);\n if (arr) {\n arr.forEach((item, i) => assertIgnoreItem(access(loc, i), item));\n }\n // @ts-expect-error todo(flow->ts)\n return arr;\n}\nfunction assertIgnoreItem(loc: GeneralPath, value: unknown): IgnoreItem {\n if (\n typeof value !== \"string\" &&\n typeof value !== \"function\" &&\n !(value instanceof RegExp)\n ) {\n throw new Error(\n `${msg(\n loc,\n )} must be an array of string/Function/RegExp values, or undefined`,\n );\n }\n return value as IgnoreItem;\n}\n\nexport function assertConfigApplicableTest(\n loc: OptionPath,\n value: unknown,\n): ConfigApplicableTest | void {\n if (value === undefined) {\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n }\n\n if (Array.isArray(value)) {\n value.forEach((item, i) => {\n if (!checkValidTest(item)) {\n throw new Error(\n `${msg(access(loc, i))} must be a string/Function/RegExp.`,\n );\n }\n });\n } else if (!checkValidTest(value)) {\n throw new Error(\n `${msg(loc)} must be a string/Function/RegExp, or an array of those`,\n );\n }\n return value as ConfigApplicableTest;\n}\n\nfunction checkValidTest(value: unknown): value is string | Function | RegExp {\n return (\n typeof value === \"string\" ||\n typeof value === \"function\" ||\n value instanceof RegExp\n );\n}\n\nexport function assertConfigFileSearch(\n loc: OptionPath,\n value: unknown,\n): ConfigFileSearch | void {\n if (\n value !== undefined &&\n typeof value !== \"boolean\" &&\n typeof value !== \"string\"\n ) {\n throw new Error(\n `${msg(loc)} must be a undefined, a boolean, a string, ` +\n `got ${JSON.stringify(value)}`,\n );\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertBabelrcSearch(\n loc: OptionPath,\n value: unknown,\n): BabelrcSearch | void {\n if (value === undefined || typeof value === \"boolean\") {\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n }\n\n if (Array.isArray(value)) {\n value.forEach((item, i) => {\n if (!checkValidTest(item)) {\n throw new Error(\n `${msg(access(loc, i))} must be a string/Function/RegExp.`,\n );\n }\n });\n } else if (!checkValidTest(value)) {\n throw new Error(\n `${msg(loc)} must be a undefined, a boolean, a string/Function/RegExp ` +\n `or an array of those, got ${JSON.stringify(value as any)}`,\n );\n }\n return value as BabelrcSearch;\n}\n\nexport function assertPluginList(\n loc: OptionPath,\n value: unknown[] | null | undefined,\n): PluginList | void {\n const arr = assertArray(loc, value);\n if (arr) {\n // Loop instead of using `.map` in order to preserve object identity\n // for plugin array for use during config chain processing.\n arr.forEach((item, i) => assertPluginItem(access(loc, i), item));\n }\n return arr as any;\n}\nfunction assertPluginItem(loc: GeneralPath, value: unknown): PluginItem {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n throw new Error(`${msg(loc)} must include an object`);\n }\n\n if (value.length > 3) {\n throw new Error(`${msg(loc)} may only be a two-tuple or three-tuple`);\n }\n\n assertPluginTarget(access(loc, 0), value[0]);\n\n if (value.length > 1) {\n const opts = value[1];\n if (\n opts !== undefined &&\n opts !== false &&\n (typeof opts !== \"object\" || Array.isArray(opts) || opts === null)\n ) {\n throw new Error(\n `${msg(access(loc, 1))} must be an object, false, or undefined`,\n );\n }\n }\n if (value.length === 3) {\n const name = value[2];\n if (name !== undefined && typeof name !== \"string\") {\n throw new Error(\n `${msg(access(loc, 2))} must be a string, or undefined`,\n );\n }\n }\n } else {\n assertPluginTarget(loc, value);\n }\n\n // @ts-expect-error todo(flow->ts)\n return value;\n}\nfunction assertPluginTarget(loc: GeneralPath, value: unknown): PluginTarget {\n if (\n (typeof value !== \"object\" || !value) &&\n typeof value !== \"string\" &&\n typeof value !== \"function\"\n ) {\n throw new Error(`${msg(loc)} must be a string, object, function`);\n }\n return value;\n}\n\nexport function assertTargets(\n loc: GeneralPath,\n value: any,\n): TargetsListOrObject {\n if (isBrowsersQueryValid(value)) return value;\n\n if (typeof value !== \"object\" || !value || Array.isArray(value)) {\n throw new Error(\n `${msg(loc)} must be a string, an array of strings or an object`,\n );\n }\n\n const browsersLoc = access(loc, \"browsers\");\n const esmodulesLoc = access(loc, \"esmodules\");\n\n assertBrowsersList(browsersLoc, value.browsers);\n assertBoolean(esmodulesLoc, value.esmodules);\n\n for (const key of Object.keys(value)) {\n const val = value[key];\n const subLoc = access(loc, key);\n\n if (key === \"esmodules\") assertBoolean(subLoc, val);\n else if (key === \"browsers\") assertBrowsersList(subLoc, val);\n else if (!Object.hasOwnProperty.call(TargetNames, key)) {\n const validTargets = Object.keys(TargetNames).join(\", \");\n throw new Error(\n `${msg(\n subLoc,\n )} is not a valid target. Supported targets are ${validTargets}`,\n );\n } else assertBrowserVersion(subLoc, val);\n }\n\n return value;\n}\n\nfunction assertBrowsersList(loc: GeneralPath, value: unknown) {\n if (value !== undefined && !isBrowsersQueryValid(value)) {\n throw new Error(\n `${msg(loc)} must be undefined, a string or an array of strings`,\n );\n }\n}\n\nfunction assertBrowserVersion(loc: GeneralPath, value: unknown) {\n if (typeof value === \"number\" && Math.round(value) === value) return;\n if (typeof value === \"string\") return;\n\n throw new Error(`${msg(loc)} must be a string or an integer number`);\n}\n\nexport function assertAssumptions(\n loc: GeneralPath,\n value: { [key: string]: unknown },\n): { [name: string]: boolean } | void {\n if (value === undefined) return;\n\n if (typeof value !== \"object\" || value === null) {\n throw new Error(`${msg(loc)} must be an object or undefined.`);\n }\n\n // todo(flow->ts): remove any\n let root: any = loc;\n do {\n root = root.parent;\n } while (root.type !== \"root\");\n const inPreset = root.source === \"preset\";\n\n for (const name of Object.keys(value)) {\n const subLoc = access(loc, name);\n if (!assumptionsNames.has(name as AssumptionName)) {\n throw new Error(`${msg(subLoc)} is not a supported assumption.`);\n }\n if (typeof value[name] !== \"boolean\") {\n throw new Error(`${msg(subLoc)} must be a boolean.`);\n }\n if (inPreset && value[name] === false) {\n throw new Error(\n `${msg(subLoc)} cannot be set to 'false' inside presets.`,\n );\n }\n }\n\n // @ts-expect-error todo(flow->ts)\n return value;\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_helperCompilationTargets","data","require","_options","msg","loc","type","parent","name","index","JSON","stringify","Error","access","assertRootMode","value","undefined","assertSourceMaps","assertCompact","assertSourceType","assertCallerMetadata","obj","assertObject","prop","Object","keys","propLoc","assertInputSourceMap","assertString","assertFunction","assertBoolean","Array","isArray","assertArray","assertIgnoreList","arr","forEach","item","i","assertIgnoreItem","RegExp","assertConfigApplicableTest","checkValidTest","assertConfigFileSearch","assertBabelrcSearch","assertPluginList","assertPluginItem","length","assertPluginTarget","opts","assertTargets","isBrowsersQueryValid","browsersLoc","esmodulesLoc","assertBrowsersList","browsers","esmodules","key","val","subLoc","hasOwnProperty","call","TargetNames","validTargets","join","assertBrowserVersion","Math","round","assertAssumptions","root","inPreset","source","assumptionsNames","has"],"sources":["../../../src/config/validation/option-assertions.ts"],"sourcesContent":["import {\n isBrowsersQueryValid,\n TargetNames,\n} from \"@babel/helper-compilation-targets\";\n\nimport type {\n ConfigFileSearch,\n BabelrcSearch,\n IgnoreList,\n IgnoreItem,\n PluginList,\n PluginItem,\n PluginTarget,\n ConfigApplicableTest,\n SourceMapsOption,\n SourceTypeOption,\n CompactOption,\n RootInputSourceMapOption,\n NestingPath,\n CallerMetadata,\n RootMode,\n TargetsListOrObject,\n AssumptionName,\n} from \"./options\";\n\nimport { assumptionsNames } from \"./options\";\n\nexport type { RootPath } from \"./options\";\n\nexport type ValidatorSet = {\n [name: string]: Validator;\n};\n\nexport type Validator = (loc: OptionPath, value: unknown) => T;\n\nexport function msg(loc: NestingPath | GeneralPath): string {\n switch (loc.type) {\n case \"root\":\n return ``;\n case \"env\":\n return `${msg(loc.parent)}.env[\"${loc.name}\"]`;\n case \"overrides\":\n return `${msg(loc.parent)}.overrides[${loc.index}]`;\n case \"option\":\n return `${msg(loc.parent)}.${loc.name}`;\n case \"access\":\n return `${msg(loc.parent)}[${JSON.stringify(loc.name)}]`;\n default:\n // @ts-expect-error should not happen when code is type checked\n throw new Error(`Assertion failure: Unknown type ${loc.type}`);\n }\n}\n\nexport function access(loc: GeneralPath, name: string | number): AccessPath {\n return {\n type: \"access\",\n name,\n parent: loc,\n };\n}\n\nexport type OptionPath = Readonly<{\n type: \"option\";\n name: string;\n parent: NestingPath;\n}>;\ntype AccessPath = Readonly<{\n type: \"access\";\n name: string | number;\n parent: GeneralPath;\n}>;\ntype GeneralPath = OptionPath | AccessPath;\n\nexport function assertRootMode(\n loc: OptionPath,\n value: unknown,\n): RootMode | void {\n if (\n value !== undefined &&\n value !== \"root\" &&\n value !== \"upward\" &&\n value !== \"upward-optional\"\n ) {\n throw new Error(\n `${msg(loc)} must be a \"root\", \"upward\", \"upward-optional\" or undefined`,\n );\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertSourceMaps(\n loc: OptionPath,\n value: unknown,\n): SourceMapsOption | void {\n if (\n value !== undefined &&\n typeof value !== \"boolean\" &&\n value !== \"inline\" &&\n value !== \"both\"\n ) {\n throw new Error(\n `${msg(loc)} must be a boolean, \"inline\", \"both\", or undefined`,\n );\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertCompact(\n loc: OptionPath,\n value: unknown,\n): CompactOption | void {\n if (value !== undefined && typeof value !== \"boolean\" && value !== \"auto\") {\n throw new Error(`${msg(loc)} must be a boolean, \"auto\", or undefined`);\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertSourceType(\n loc: OptionPath,\n value: unknown,\n): SourceTypeOption | void {\n if (\n value !== undefined &&\n value !== \"module\" &&\n value !== \"script\" &&\n value !== \"unambiguous\"\n ) {\n throw new Error(\n `${msg(loc)} must be \"module\", \"script\", \"unambiguous\", or undefined`,\n );\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertCallerMetadata(\n loc: OptionPath,\n value: unknown,\n): CallerMetadata | undefined {\n const obj = assertObject(loc, value);\n if (obj) {\n if (typeof obj.name !== \"string\") {\n throw new Error(\n `${msg(loc)} set but does not contain \"name\" property string`,\n );\n }\n\n for (const prop of Object.keys(obj)) {\n const propLoc = access(loc, prop);\n const value = obj[prop];\n if (\n value != null &&\n typeof value !== \"boolean\" &&\n typeof value !== \"string\" &&\n typeof value !== \"number\"\n ) {\n // NOTE(logan): I'm limiting the type here so that we can guarantee that\n // the \"caller\" value will serialize to JSON nicely. We can always\n // allow more complex structures later though.\n throw new Error(\n `${msg(\n propLoc,\n )} must be null, undefined, a boolean, a string, or a number.`,\n );\n }\n }\n }\n // @ts-expect-error todo(flow->ts)\n return value;\n}\n\nexport function assertInputSourceMap(\n loc: OptionPath,\n value: unknown,\n): RootInputSourceMapOption | void {\n if (\n value !== undefined &&\n typeof value !== \"boolean\" &&\n (typeof value !== \"object\" || !value)\n ) {\n throw new Error(`${msg(loc)} must be a boolean, object, or undefined`);\n }\n return value;\n}\n\nexport function assertString(loc: GeneralPath, value: unknown): string | void {\n if (value !== undefined && typeof value !== \"string\") {\n throw new Error(`${msg(loc)} must be a string, or undefined`);\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertFunction(\n loc: GeneralPath,\n value: unknown,\n): Function | void {\n if (value !== undefined && typeof value !== \"function\") {\n throw new Error(`${msg(loc)} must be a function, or undefined`);\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertBoolean(\n loc: GeneralPath,\n value: unknown,\n): boolean | void {\n if (value !== undefined && typeof value !== \"boolean\") {\n throw new Error(`${msg(loc)} must be a boolean, or undefined`);\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertObject(\n loc: GeneralPath,\n value: unknown,\n): { readonly [key: string]: unknown } | void {\n if (\n value !== undefined &&\n (typeof value !== \"object\" || Array.isArray(value) || !value)\n ) {\n throw new Error(`${msg(loc)} must be an object, or undefined`);\n }\n // @ts-expect-error todo(flow->ts) value is still typed as unknown, also assert function typically should not return a value\n return value;\n}\n\nexport function assertArray(\n loc: GeneralPath,\n value: Array | undefined | null,\n): ReadonlyArray | undefined | null {\n if (value != null && !Array.isArray(value)) {\n throw new Error(`${msg(loc)} must be an array, or undefined`);\n }\n return value;\n}\n\nexport function assertIgnoreList(\n loc: OptionPath,\n value: unknown[] | undefined,\n): IgnoreList | void {\n const arr = assertArray(loc, value);\n if (arr) {\n arr.forEach((item, i) => assertIgnoreItem(access(loc, i), item));\n }\n // @ts-expect-error todo(flow->ts)\n return arr;\n}\nfunction assertIgnoreItem(loc: GeneralPath, value: unknown): IgnoreItem {\n if (\n typeof value !== \"string\" &&\n typeof value !== \"function\" &&\n !(value instanceof RegExp)\n ) {\n throw new Error(\n `${msg(\n loc,\n )} must be an array of string/Function/RegExp values, or undefined`,\n );\n }\n return value as IgnoreItem;\n}\n\nexport function assertConfigApplicableTest(\n loc: OptionPath,\n value: unknown,\n): ConfigApplicableTest | void {\n if (value === undefined) {\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n }\n\n if (Array.isArray(value)) {\n value.forEach((item, i) => {\n if (!checkValidTest(item)) {\n throw new Error(\n `${msg(access(loc, i))} must be a string/Function/RegExp.`,\n );\n }\n });\n } else if (!checkValidTest(value)) {\n throw new Error(\n `${msg(loc)} must be a string/Function/RegExp, or an array of those`,\n );\n }\n return value as ConfigApplicableTest;\n}\n\nfunction checkValidTest(value: unknown): value is string | Function | RegExp {\n return (\n typeof value === \"string\" ||\n typeof value === \"function\" ||\n value instanceof RegExp\n );\n}\n\nexport function assertConfigFileSearch(\n loc: OptionPath,\n value: unknown,\n): ConfigFileSearch | void {\n if (\n value !== undefined &&\n typeof value !== \"boolean\" &&\n typeof value !== \"string\"\n ) {\n throw new Error(\n `${msg(loc)} must be a undefined, a boolean, a string, ` +\n `got ${JSON.stringify(value)}`,\n );\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertBabelrcSearch(\n loc: OptionPath,\n value: unknown,\n): BabelrcSearch | void {\n if (value === undefined || typeof value === \"boolean\") {\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n }\n\n if (Array.isArray(value)) {\n value.forEach((item, i) => {\n if (!checkValidTest(item)) {\n throw new Error(\n `${msg(access(loc, i))} must be a string/Function/RegExp.`,\n );\n }\n });\n } else if (!checkValidTest(value)) {\n throw new Error(\n `${msg(loc)} must be a undefined, a boolean, a string/Function/RegExp ` +\n `or an array of those, got ${JSON.stringify(value as any)}`,\n );\n }\n return value as BabelrcSearch;\n}\n\nexport function assertPluginList(\n loc: OptionPath,\n value: unknown[] | null | undefined,\n): PluginList | void {\n const arr = assertArray(loc, value);\n if (arr) {\n // Loop instead of using `.map` in order to preserve object identity\n // for plugin array for use during config chain processing.\n arr.forEach((item, i) => assertPluginItem(access(loc, i), item));\n }\n return arr as any;\n}\nfunction assertPluginItem(loc: GeneralPath, value: unknown): PluginItem {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n throw new Error(`${msg(loc)} must include an object`);\n }\n\n if (value.length > 3) {\n throw new Error(`${msg(loc)} may only be a two-tuple or three-tuple`);\n }\n\n assertPluginTarget(access(loc, 0), value[0]);\n\n if (value.length > 1) {\n const opts = value[1];\n if (\n opts !== undefined &&\n opts !== false &&\n (typeof opts !== \"object\" || Array.isArray(opts) || opts === null)\n ) {\n throw new Error(\n `${msg(access(loc, 1))} must be an object, false, or undefined`,\n );\n }\n }\n if (value.length === 3) {\n const name = value[2];\n if (name !== undefined && typeof name !== \"string\") {\n throw new Error(\n `${msg(access(loc, 2))} must be a string, or undefined`,\n );\n }\n }\n } else {\n assertPluginTarget(loc, value);\n }\n\n // @ts-expect-error todo(flow->ts)\n return value;\n}\nfunction assertPluginTarget(loc: GeneralPath, value: unknown): PluginTarget {\n if (\n (typeof value !== \"object\" || !value) &&\n typeof value !== \"string\" &&\n typeof value !== \"function\"\n ) {\n throw new Error(`${msg(loc)} must be a string, object, function`);\n }\n return value;\n}\n\nexport function assertTargets(\n loc: GeneralPath,\n value: any,\n): TargetsListOrObject {\n if (isBrowsersQueryValid(value)) return value;\n\n if (typeof value !== \"object\" || !value || Array.isArray(value)) {\n throw new Error(\n `${msg(loc)} must be a string, an array of strings or an object`,\n );\n }\n\n const browsersLoc = access(loc, \"browsers\");\n const esmodulesLoc = access(loc, \"esmodules\");\n\n assertBrowsersList(browsersLoc, value.browsers);\n assertBoolean(esmodulesLoc, value.esmodules);\n\n for (const key of Object.keys(value)) {\n const val = value[key];\n const subLoc = access(loc, key);\n\n if (key === \"esmodules\") assertBoolean(subLoc, val);\n else if (key === \"browsers\") assertBrowsersList(subLoc, val);\n else if (!Object.hasOwnProperty.call(TargetNames, key)) {\n const validTargets = Object.keys(TargetNames).join(\", \");\n throw new Error(\n `${msg(\n subLoc,\n )} is not a valid target. Supported targets are ${validTargets}`,\n );\n } else assertBrowserVersion(subLoc, val);\n }\n\n return value;\n}\n\nfunction assertBrowsersList(loc: GeneralPath, value: unknown) {\n if (value !== undefined && !isBrowsersQueryValid(value)) {\n throw new Error(\n `${msg(loc)} must be undefined, a string or an array of strings`,\n );\n }\n}\n\nfunction assertBrowserVersion(loc: GeneralPath, value: unknown) {\n if (typeof value === \"number\" && Math.round(value) === value) return;\n if (typeof value === \"string\") return;\n\n throw new Error(`${msg(loc)} must be a string or an integer number`);\n}\n\nexport function assertAssumptions(\n loc: GeneralPath,\n value: { [key: string]: unknown },\n): { [name: string]: boolean } | void {\n if (value === undefined) return;\n\n if (typeof value !== \"object\" || value === null) {\n throw new Error(`${msg(loc)} must be an object or undefined.`);\n }\n\n // todo(flow->ts): remove any\n let root: any = loc;\n do {\n root = root.parent;\n } while (root.type !== \"root\");\n const inPreset = root.source === \"preset\";\n\n for (const name of Object.keys(value)) {\n const subLoc = access(loc, name);\n if (!assumptionsNames.has(name as AssumptionName)) {\n throw new Error(`${msg(subLoc)} is not a supported assumption.`);\n }\n if (typeof value[name] !== \"boolean\") {\n throw new Error(`${msg(subLoc)} must be a boolean.`);\n }\n if (inPreset && value[name] === false) {\n throw new Error(\n `${msg(subLoc)} cannot be set to 'false' inside presets.`,\n );\n }\n }\n\n // @ts-expect-error todo(flow->ts)\n return value;\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/validation/options.js.map b/node_modules/@babel/core/lib/config/validation/options.js.map index 25087a8f6..2912dca74 100644 --- a/node_modules/@babel/core/lib/config/validation/options.js.map +++ b/node_modules/@babel/core/lib/config/validation/options.js.map @@ -1 +1 @@ -{"version":3,"names":["_removed","require","_optionAssertions","_configError","ROOT_VALIDATORS","cwd","assertString","root","rootMode","assertRootMode","configFile","assertConfigFileSearch","caller","assertCallerMetadata","filename","filenameRelative","code","assertBoolean","ast","cloneInputAst","envName","BABELRC_VALIDATORS","babelrc","babelrcRoots","assertBabelrcSearch","NONPRESET_VALIDATORS","extends","ignore","assertIgnoreList","only","targets","assertTargets","browserslistConfigFile","browserslistEnv","COMMON_VALIDATORS","inputSourceMap","assertInputSourceMap","presets","assertPluginList","plugins","passPerPreset","assumptions","assertAssumptions","env","assertEnvSet","overrides","assertOverridesList","test","assertConfigApplicableTest","include","exclude","retainLines","comments","shouldPrintComment","assertFunction","compact","assertCompact","minified","auxiliaryCommentBefore","auxiliaryCommentAfter","sourceType","assertSourceType","wrapPluginVisitorMethod","highlightCode","sourceMaps","assertSourceMaps","sourceMap","sourceFileName","sourceRoot","parserOpts","assertObject","generatorOpts","Object","assign","getModuleId","moduleRoot","moduleIds","moduleId","knownAssumptions","assumptionsNames","Set","exports","getSource","loc","type","source","parent","validate","opts","validateNested","error","configError","ConfigError","message","assertNoDuplicateSourcemap","keys","forEach","key","optLoc","name","Error","msg","validator","throwUnknownError","removed","version","unknownOptErr","has","obj","prototype","hasOwnProperty","call","value","access","envLoc","arr","assertArray","index","item","entries","objLoc","overridesLoc","checkNoUnwrappedItemOptionPairs","items","e","lastItem","thisItem","file","options","undefined","request","JSON","stringify"],"sources":["../../../src/config/validation/options.ts"],"sourcesContent":["import type { InputTargets, Targets } from \"@babel/helper-compilation-targets\";\n\nimport type { ConfigItem } from \"../item\";\nimport type Plugin from \"../plugin\";\n\nimport removed from \"./removed\";\nimport {\n msg,\n access,\n assertString,\n assertBoolean,\n assertObject,\n assertArray,\n assertCallerMetadata,\n assertInputSourceMap,\n assertIgnoreList,\n assertPluginList,\n assertConfigApplicableTest,\n assertConfigFileSearch,\n assertBabelrcSearch,\n assertFunction,\n assertRootMode,\n assertSourceMaps,\n assertCompact,\n assertSourceType,\n assertTargets,\n assertAssumptions,\n} from \"./option-assertions\";\nimport type { ValidatorSet, Validator, OptionPath } from \"./option-assertions\";\nimport type { UnloadedDescriptor } from \"../config-descriptors\";\nimport type { ParserOptions } from \"@babel/parser\";\nimport type { GeneratorOptions } from \"@babel/generator\";\nimport ConfigError from \"../../errors/config-error\";\n\nconst ROOT_VALIDATORS: ValidatorSet = {\n cwd: assertString as Validator,\n root: assertString as Validator,\n rootMode: assertRootMode as Validator,\n configFile: assertConfigFileSearch as Validator<\n ValidatedOptions[\"configFile\"]\n >,\n\n caller: assertCallerMetadata as Validator,\n filename: assertString as Validator,\n filenameRelative: assertString as Validator<\n ValidatedOptions[\"filenameRelative\"]\n >,\n code: assertBoolean as Validator,\n ast: assertBoolean as Validator,\n\n cloneInputAst: assertBoolean as Validator,\n\n envName: assertString as Validator,\n};\n\nconst BABELRC_VALIDATORS: ValidatorSet = {\n babelrc: assertBoolean as Validator,\n babelrcRoots: assertBabelrcSearch as Validator<\n ValidatedOptions[\"babelrcRoots\"]\n >,\n};\n\nconst NONPRESET_VALIDATORS: ValidatorSet = {\n extends: assertString as Validator,\n ignore: assertIgnoreList as Validator,\n only: assertIgnoreList as Validator,\n\n targets: assertTargets as Validator,\n browserslistConfigFile: assertConfigFileSearch as Validator<\n ValidatedOptions[\"browserslistConfigFile\"]\n >,\n browserslistEnv: assertString as Validator<\n ValidatedOptions[\"browserslistEnv\"]\n >,\n};\n\nconst COMMON_VALIDATORS: ValidatorSet = {\n // TODO: Should 'inputSourceMap' be moved to be a root-only option?\n // We may want a boolean-only version to be a common option, with the\n // object only allowed as a root config argument.\n inputSourceMap: assertInputSourceMap as Validator<\n ValidatedOptions[\"inputSourceMap\"]\n >,\n presets: assertPluginList as Validator,\n plugins: assertPluginList as Validator,\n passPerPreset: assertBoolean as Validator,\n assumptions: assertAssumptions as Validator,\n\n env: assertEnvSet as Validator,\n overrides: assertOverridesList as Validator,\n\n // We could limit these to 'overrides' blocks, but it's not clear why we'd\n // bother, when the ability to limit a config to a specific set of files\n // is a fairly general useful feature.\n test: assertConfigApplicableTest as Validator,\n include: assertConfigApplicableTest as Validator,\n exclude: assertConfigApplicableTest as Validator,\n\n retainLines: assertBoolean as Validator,\n comments: assertBoolean as Validator,\n shouldPrintComment: assertFunction as Validator<\n ValidatedOptions[\"shouldPrintComment\"]\n >,\n compact: assertCompact as Validator,\n minified: assertBoolean as Validator,\n auxiliaryCommentBefore: assertString as Validator<\n ValidatedOptions[\"auxiliaryCommentBefore\"]\n >,\n auxiliaryCommentAfter: assertString as Validator<\n ValidatedOptions[\"auxiliaryCommentAfter\"]\n >,\n sourceType: assertSourceType as Validator,\n wrapPluginVisitorMethod: assertFunction as Validator<\n ValidatedOptions[\"wrapPluginVisitorMethod\"]\n >,\n highlightCode: assertBoolean as Validator,\n sourceMaps: assertSourceMaps as Validator,\n sourceMap: assertSourceMaps as Validator,\n sourceFileName: assertString as Validator,\n sourceRoot: assertString as Validator,\n parserOpts: assertObject as Validator,\n generatorOpts: assertObject as Validator,\n};\nif (!process.env.BABEL_8_BREAKING) {\n Object.assign(COMMON_VALIDATORS, {\n getModuleId: assertFunction,\n moduleRoot: assertString,\n moduleIds: assertBoolean,\n moduleId: assertString,\n });\n}\n\nexport type InputOptions = ValidatedOptions;\n\nexport type ValidatedOptions = {\n cwd?: string;\n filename?: string;\n filenameRelative?: string;\n babelrc?: boolean;\n babelrcRoots?: BabelrcSearch;\n configFile?: ConfigFileSearch;\n root?: string;\n rootMode?: RootMode;\n code?: boolean;\n ast?: boolean;\n cloneInputAst?: boolean;\n inputSourceMap?: RootInputSourceMapOption;\n envName?: string;\n caller?: CallerMetadata;\n extends?: string;\n env?: EnvSet;\n ignore?: IgnoreList;\n only?: IgnoreList;\n overrides?: OverridesList;\n // Generally verify if a given config object should be applied to the given file.\n test?: ConfigApplicableTest;\n include?: ConfigApplicableTest;\n exclude?: ConfigApplicableTest;\n presets?: PluginList;\n plugins?: PluginList;\n passPerPreset?: boolean;\n assumptions?: {\n [name: string]: boolean;\n };\n // browserslists-related options\n targets?: TargetsListOrObject;\n browserslistConfigFile?: ConfigFileSearch;\n browserslistEnv?: string;\n // Options for @babel/generator\n retainLines?: boolean;\n comments?: boolean;\n shouldPrintComment?: Function;\n compact?: CompactOption;\n minified?: boolean;\n auxiliaryCommentBefore?: string;\n auxiliaryCommentAfter?: string;\n // Parser\n sourceType?: SourceTypeOption;\n wrapPluginVisitorMethod?: Function;\n highlightCode?: boolean;\n // Sourcemap generation options.\n sourceMaps?: SourceMapsOption;\n sourceMap?: SourceMapsOption;\n sourceFileName?: string;\n sourceRoot?: string;\n // Deprecate top level parserOpts\n parserOpts?: ParserOptions;\n // Deprecate top level generatorOpts\n generatorOpts?: GeneratorOptions;\n};\n\nexport type NormalizedOptions = {\n readonly targets: Targets;\n} & Omit;\n\nexport type CallerMetadata = {\n // If 'caller' is specified, require that the name is given for debugging\n // messages.\n name: string;\n};\nexport type EnvSet = {\n [x: string]: T;\n};\nexport type IgnoreItem =\n | string\n | RegExp\n | ((\n path: string | undefined,\n context: { dirname: string; caller: CallerMetadata; envName: string },\n ) => unknown);\nexport type IgnoreList = ReadonlyArray;\n\nexport type PluginOptions = object | void | false;\nexport type PluginTarget = string | object | Function;\nexport type PluginItem =\n | ConfigItem\n | Plugin\n | PluginTarget\n | [PluginTarget, PluginOptions]\n | [PluginTarget, PluginOptions, string | void];\nexport type PluginList = ReadonlyArray;\n\nexport type OverridesList = Array;\nexport type ConfigApplicableTest = IgnoreItem | Array;\n\nexport type ConfigFileSearch = string | boolean;\nexport type BabelrcSearch = boolean | IgnoreItem | IgnoreList;\nexport type SourceMapsOption = boolean | \"inline\" | \"both\";\nexport type SourceTypeOption = \"module\" | \"script\" | \"unambiguous\";\nexport type CompactOption = boolean | \"auto\";\nexport type RootInputSourceMapOption = {} | boolean;\nexport type RootMode = \"root\" | \"upward\" | \"upward-optional\";\n\nexport type TargetsListOrObject =\n | Targets\n | InputTargets\n | InputTargets[\"browsers\"];\n\nexport type OptionsSource =\n | \"arguments\"\n | \"configfile\"\n | \"babelrcfile\"\n | \"extendsfile\"\n | \"preset\"\n | \"plugin\";\n\nexport type RootPath = Readonly<{\n type: \"root\";\n source: OptionsSource;\n}>;\n\ntype OverridesPath = Readonly<{\n type: \"overrides\";\n index: number;\n parent: RootPath;\n}>;\n\ntype EnvPath = Readonly<{\n type: \"env\";\n name: string;\n parent: RootPath | OverridesPath;\n}>;\n\nexport type NestingPath = RootPath | OverridesPath | EnvPath;\n\nconst knownAssumptions = [\n \"arrayLikeIsIterable\",\n \"constantReexports\",\n \"constantSuper\",\n \"enumerableModuleMeta\",\n \"ignoreFunctionLength\",\n \"ignoreToPrimitiveHint\",\n \"iterableIsArray\",\n \"mutableTemplateObject\",\n \"noClassCalls\",\n \"noDocumentAll\",\n \"noIncompleteNsImportDetection\",\n \"noNewArrows\",\n \"objectRestNoSymbols\",\n \"privateFieldsAsSymbols\",\n \"privateFieldsAsProperties\",\n \"pureGetters\",\n \"setClassMethods\",\n \"setComputedProperties\",\n \"setPublicClassFields\",\n \"setSpreadProperties\",\n \"skipForOfIteratorClosing\",\n \"superIsCallableConstructor\",\n] as const;\nexport type AssumptionName = (typeof knownAssumptions)[number];\nexport const assumptionsNames = new Set(knownAssumptions);\n\nfunction getSource(loc: NestingPath): OptionsSource {\n return loc.type === \"root\" ? loc.source : getSource(loc.parent);\n}\n\nexport function validate(\n type: OptionsSource,\n opts: {},\n filename?: string,\n): ValidatedOptions {\n try {\n return validateNested(\n {\n type: \"root\",\n source: type,\n },\n opts,\n );\n } catch (error) {\n const configError = new ConfigError(error.message, filename);\n // @ts-expect-error TODO: .code is not defined on ConfigError or Error\n if (error.code) configError.code = error.code;\n throw configError;\n }\n}\n\nfunction validateNested(loc: NestingPath, opts: { [key: string]: unknown }) {\n const type = getSource(loc);\n\n assertNoDuplicateSourcemap(opts);\n\n Object.keys(opts).forEach((key: string) => {\n const optLoc = {\n type: \"option\",\n name: key,\n parent: loc,\n } as const;\n\n if (type === \"preset\" && NONPRESET_VALIDATORS[key]) {\n throw new Error(`${msg(optLoc)} is not allowed in preset options`);\n }\n if (type !== \"arguments\" && ROOT_VALIDATORS[key]) {\n throw new Error(\n `${msg(optLoc)} is only allowed in root programmatic options`,\n );\n }\n if (\n type !== \"arguments\" &&\n type !== \"configfile\" &&\n BABELRC_VALIDATORS[key]\n ) {\n if (type === \"babelrcfile\" || type === \"extendsfile\") {\n throw new Error(\n `${msg(\n optLoc,\n )} is not allowed in .babelrc or \"extends\"ed files, only in root programmatic options, ` +\n `or babel.config.js/config file options`,\n );\n }\n\n throw new Error(\n `${msg(\n optLoc,\n )} is only allowed in root programmatic options, or babel.config.js/config file options`,\n );\n }\n\n const validator =\n COMMON_VALIDATORS[key] ||\n NONPRESET_VALIDATORS[key] ||\n BABELRC_VALIDATORS[key] ||\n ROOT_VALIDATORS[key] ||\n (throwUnknownError as Validator);\n\n validator(optLoc, opts[key]);\n });\n\n return opts;\n}\n\nfunction throwUnknownError(loc: OptionPath) {\n const key = loc.name;\n\n if (removed[key]) {\n const { message, version = 5 } = removed[key];\n\n throw new Error(\n `Using removed Babel ${version} option: ${msg(loc)} - ${message}`,\n );\n } else {\n // eslint-disable-next-line max-len\n const unknownOptErr = new Error(\n `Unknown option: ${msg(\n loc,\n )}. Check out https://babeljs.io/docs/en/babel-core/#options for more information about options.`,\n );\n // @ts-expect-error todo(flow->ts): consider creating something like BabelConfigError with code field in it\n unknownOptErr.code = \"BABEL_UNKNOWN_OPTION\";\n\n throw unknownOptErr;\n }\n}\n\nfunction has(obj: {}, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nfunction assertNoDuplicateSourcemap(opts: {}): void {\n if (has(opts, \"sourceMap\") && has(opts, \"sourceMaps\")) {\n throw new Error(\".sourceMap is an alias for .sourceMaps, cannot use both\");\n }\n}\n\nfunction assertEnvSet(\n loc: OptionPath,\n value: unknown,\n): void | EnvSet {\n if (loc.parent.type === \"env\") {\n throw new Error(`${msg(loc)} is not allowed inside of another .env block`);\n }\n const parent: RootPath | OverridesPath = loc.parent;\n\n const obj = assertObject(loc, value);\n if (obj) {\n // Validate but don't copy the .env object in order to preserve\n // object identity for use during config chain processing.\n for (const envName of Object.keys(obj)) {\n const env = assertObject(access(loc, envName), obj[envName]);\n if (!env) continue;\n\n const envLoc = {\n type: \"env\",\n name: envName,\n parent,\n } as const;\n validateNested(envLoc, env);\n }\n }\n return obj;\n}\n\nfunction assertOverridesList(\n loc: OptionPath,\n value: unknown[],\n): undefined | OverridesList {\n if (loc.parent.type === \"env\") {\n throw new Error(`${msg(loc)} is not allowed inside an .env block`);\n }\n if (loc.parent.type === \"overrides\") {\n throw new Error(`${msg(loc)} is not allowed inside an .overrides block`);\n }\n const parent: RootPath = loc.parent;\n\n const arr = assertArray(loc, value);\n if (arr) {\n for (const [index, item] of arr.entries()) {\n const objLoc = access(loc, index);\n const env = assertObject(objLoc, item);\n if (!env) throw new Error(`${msg(objLoc)} must be an object`);\n\n const overridesLoc = {\n type: \"overrides\",\n index,\n parent,\n } as const;\n validateNested(overridesLoc, env);\n }\n }\n return arr as OverridesList;\n}\n\nexport function checkNoUnwrappedItemOptionPairs(\n items: Array,\n index: number,\n type: \"plugin\" | \"preset\",\n e: Error,\n): void {\n if (index === 0) return;\n\n const lastItem = items[index - 1];\n const thisItem = items[index];\n\n if (\n lastItem.file &&\n lastItem.options === undefined &&\n typeof thisItem.value === \"object\"\n ) {\n e.message +=\n `\\n- Maybe you meant to use\\n` +\n `\"${type}s\": [\\n [\"${lastItem.file.request}\", ${JSON.stringify(\n thisItem.value,\n undefined,\n 2,\n )}]\\n]\\n` +\n `To be a valid ${type}, its name and options should be wrapped in a pair of brackets`;\n }\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_removed","require","_optionAssertions","_configError","ROOT_VALIDATORS","cwd","assertString","root","rootMode","assertRootMode","configFile","assertConfigFileSearch","caller","assertCallerMetadata","filename","filenameRelative","code","assertBoolean","ast","cloneInputAst","envName","BABELRC_VALIDATORS","babelrc","babelrcRoots","assertBabelrcSearch","NONPRESET_VALIDATORS","extends","ignore","assertIgnoreList","only","targets","assertTargets","browserslistConfigFile","browserslistEnv","COMMON_VALIDATORS","inputSourceMap","assertInputSourceMap","presets","assertPluginList","plugins","passPerPreset","assumptions","assertAssumptions","env","assertEnvSet","overrides","assertOverridesList","test","assertConfigApplicableTest","include","exclude","retainLines","comments","shouldPrintComment","assertFunction","compact","assertCompact","minified","auxiliaryCommentBefore","auxiliaryCommentAfter","sourceType","assertSourceType","wrapPluginVisitorMethod","highlightCode","sourceMaps","assertSourceMaps","sourceMap","sourceFileName","sourceRoot","parserOpts","assertObject","generatorOpts","Object","assign","getModuleId","moduleRoot","moduleIds","moduleId","knownAssumptions","assumptionsNames","Set","exports","getSource","loc","type","source","parent","validate","opts","validateNested","error","configError","ConfigError","message","assertNoDuplicateSourcemap","keys","forEach","key","optLoc","name","Error","msg","validator","throwUnknownError","removed","version","unknownOptErr","has","obj","prototype","hasOwnProperty","call","value","access","envLoc","arr","assertArray","index","item","entries","objLoc","overridesLoc","checkNoUnwrappedItemOptionPairs","items","e","lastItem","thisItem","file","options","undefined","request","JSON","stringify"],"sources":["../../../src/config/validation/options.ts"],"sourcesContent":["import type { InputTargets, Targets } from \"@babel/helper-compilation-targets\";\n\nimport type { ConfigItem } from \"../item\";\nimport type Plugin from \"../plugin\";\n\nimport removed from \"./removed\";\nimport {\n msg,\n access,\n assertString,\n assertBoolean,\n assertObject,\n assertArray,\n assertCallerMetadata,\n assertInputSourceMap,\n assertIgnoreList,\n assertPluginList,\n assertConfigApplicableTest,\n assertConfigFileSearch,\n assertBabelrcSearch,\n assertFunction,\n assertRootMode,\n assertSourceMaps,\n assertCompact,\n assertSourceType,\n assertTargets,\n assertAssumptions,\n} from \"./option-assertions\";\nimport type { ValidatorSet, Validator, OptionPath } from \"./option-assertions\";\nimport type { UnloadedDescriptor } from \"../config-descriptors\";\nimport type { ParserOptions } from \"@babel/parser\";\nimport type { GeneratorOptions } from \"@babel/generator\";\nimport ConfigError from \"../../errors/config-error\";\n\nconst ROOT_VALIDATORS: ValidatorSet = {\n cwd: assertString as Validator,\n root: assertString as Validator,\n rootMode: assertRootMode as Validator,\n configFile: assertConfigFileSearch as Validator<\n ValidatedOptions[\"configFile\"]\n >,\n\n caller: assertCallerMetadata as Validator,\n filename: assertString as Validator,\n filenameRelative: assertString as Validator<\n ValidatedOptions[\"filenameRelative\"]\n >,\n code: assertBoolean as Validator,\n ast: assertBoolean as Validator,\n\n cloneInputAst: assertBoolean as Validator,\n\n envName: assertString as Validator,\n};\n\nconst BABELRC_VALIDATORS: ValidatorSet = {\n babelrc: assertBoolean as Validator,\n babelrcRoots: assertBabelrcSearch as Validator<\n ValidatedOptions[\"babelrcRoots\"]\n >,\n};\n\nconst NONPRESET_VALIDATORS: ValidatorSet = {\n extends: assertString as Validator,\n ignore: assertIgnoreList as Validator,\n only: assertIgnoreList as Validator,\n\n targets: assertTargets as Validator,\n browserslistConfigFile: assertConfigFileSearch as Validator<\n ValidatedOptions[\"browserslistConfigFile\"]\n >,\n browserslistEnv: assertString as Validator<\n ValidatedOptions[\"browserslistEnv\"]\n >,\n};\n\nconst COMMON_VALIDATORS: ValidatorSet = {\n // TODO: Should 'inputSourceMap' be moved to be a root-only option?\n // We may want a boolean-only version to be a common option, with the\n // object only allowed as a root config argument.\n inputSourceMap: assertInputSourceMap as Validator<\n ValidatedOptions[\"inputSourceMap\"]\n >,\n presets: assertPluginList as Validator,\n plugins: assertPluginList as Validator,\n passPerPreset: assertBoolean as Validator,\n assumptions: assertAssumptions as Validator,\n\n env: assertEnvSet as Validator,\n overrides: assertOverridesList as Validator,\n\n // We could limit these to 'overrides' blocks, but it's not clear why we'd\n // bother, when the ability to limit a config to a specific set of files\n // is a fairly general useful feature.\n test: assertConfigApplicableTest as Validator,\n include: assertConfigApplicableTest as Validator,\n exclude: assertConfigApplicableTest as Validator,\n\n retainLines: assertBoolean as Validator,\n comments: assertBoolean as Validator,\n shouldPrintComment: assertFunction as Validator<\n ValidatedOptions[\"shouldPrintComment\"]\n >,\n compact: assertCompact as Validator,\n minified: assertBoolean as Validator,\n auxiliaryCommentBefore: assertString as Validator<\n ValidatedOptions[\"auxiliaryCommentBefore\"]\n >,\n auxiliaryCommentAfter: assertString as Validator<\n ValidatedOptions[\"auxiliaryCommentAfter\"]\n >,\n sourceType: assertSourceType as Validator,\n wrapPluginVisitorMethod: assertFunction as Validator<\n ValidatedOptions[\"wrapPluginVisitorMethod\"]\n >,\n highlightCode: assertBoolean as Validator,\n sourceMaps: assertSourceMaps as Validator,\n sourceMap: assertSourceMaps as Validator,\n sourceFileName: assertString as Validator,\n sourceRoot: assertString as Validator,\n parserOpts: assertObject as Validator,\n generatorOpts: assertObject as Validator,\n};\nif (!process.env.BABEL_8_BREAKING) {\n Object.assign(COMMON_VALIDATORS, {\n getModuleId: assertFunction,\n moduleRoot: assertString,\n moduleIds: assertBoolean,\n moduleId: assertString,\n });\n}\n\nexport type InputOptions = ValidatedOptions;\n\nexport type ValidatedOptions = {\n cwd?: string;\n filename?: string;\n filenameRelative?: string;\n babelrc?: boolean;\n babelrcRoots?: BabelrcSearch;\n configFile?: ConfigFileSearch;\n root?: string;\n rootMode?: RootMode;\n code?: boolean;\n ast?: boolean;\n cloneInputAst?: boolean;\n inputSourceMap?: RootInputSourceMapOption;\n envName?: string;\n caller?: CallerMetadata;\n extends?: string;\n env?: EnvSet;\n ignore?: IgnoreList;\n only?: IgnoreList;\n overrides?: OverridesList;\n // Generally verify if a given config object should be applied to the given file.\n test?: ConfigApplicableTest;\n include?: ConfigApplicableTest;\n exclude?: ConfigApplicableTest;\n presets?: PluginList;\n plugins?: PluginList;\n passPerPreset?: boolean;\n assumptions?: {\n [name: string]: boolean;\n };\n // browserslists-related options\n targets?: TargetsListOrObject;\n browserslistConfigFile?: ConfigFileSearch;\n browserslistEnv?: string;\n // Options for @babel/generator\n retainLines?: boolean;\n comments?: boolean;\n shouldPrintComment?: Function;\n compact?: CompactOption;\n minified?: boolean;\n auxiliaryCommentBefore?: string;\n auxiliaryCommentAfter?: string;\n // Parser\n sourceType?: SourceTypeOption;\n wrapPluginVisitorMethod?: Function;\n highlightCode?: boolean;\n // Sourcemap generation options.\n sourceMaps?: SourceMapsOption;\n sourceMap?: SourceMapsOption;\n sourceFileName?: string;\n sourceRoot?: string;\n // Deprecate top level parserOpts\n parserOpts?: ParserOptions;\n // Deprecate top level generatorOpts\n generatorOpts?: GeneratorOptions;\n};\n\nexport type NormalizedOptions = {\n readonly targets: Targets;\n} & Omit;\n\nexport type CallerMetadata = {\n // If 'caller' is specified, require that the name is given for debugging\n // messages.\n name: string;\n};\nexport type EnvSet = {\n [x: string]: T;\n};\nexport type IgnoreItem =\n | string\n | RegExp\n | ((\n path: string | undefined,\n context: { dirname: string; caller: CallerMetadata; envName: string },\n ) => unknown);\nexport type IgnoreList = ReadonlyArray;\n\nexport type PluginOptions = object | void | false;\nexport type PluginTarget = string | object | Function;\nexport type PluginItem =\n | ConfigItem\n | Plugin\n | PluginTarget\n | [PluginTarget, PluginOptions]\n | [PluginTarget, PluginOptions, string | void];\nexport type PluginList = ReadonlyArray;\n\nexport type OverridesList = Array;\nexport type ConfigApplicableTest = IgnoreItem | Array;\n\nexport type ConfigFileSearch = string | boolean;\nexport type BabelrcSearch = boolean | IgnoreItem | IgnoreList;\nexport type SourceMapsOption = boolean | \"inline\" | \"both\";\nexport type SourceTypeOption = \"module\" | \"script\" | \"unambiguous\";\nexport type CompactOption = boolean | \"auto\";\nexport type RootInputSourceMapOption = {} | boolean;\nexport type RootMode = \"root\" | \"upward\" | \"upward-optional\";\n\nexport type TargetsListOrObject =\n | Targets\n | InputTargets\n | InputTargets[\"browsers\"];\n\nexport type OptionsSource =\n | \"arguments\"\n | \"configfile\"\n | \"babelrcfile\"\n | \"extendsfile\"\n | \"preset\"\n | \"plugin\";\n\nexport type RootPath = Readonly<{\n type: \"root\";\n source: OptionsSource;\n}>;\n\ntype OverridesPath = Readonly<{\n type: \"overrides\";\n index: number;\n parent: RootPath;\n}>;\n\ntype EnvPath = Readonly<{\n type: \"env\";\n name: string;\n parent: RootPath | OverridesPath;\n}>;\n\nexport type NestingPath = RootPath | OverridesPath | EnvPath;\n\nconst knownAssumptions = [\n \"arrayLikeIsIterable\",\n \"constantReexports\",\n \"constantSuper\",\n \"enumerableModuleMeta\",\n \"ignoreFunctionLength\",\n \"ignoreToPrimitiveHint\",\n \"iterableIsArray\",\n \"mutableTemplateObject\",\n \"noClassCalls\",\n \"noDocumentAll\",\n \"noIncompleteNsImportDetection\",\n \"noNewArrows\",\n \"objectRestNoSymbols\",\n \"privateFieldsAsSymbols\",\n \"privateFieldsAsProperties\",\n \"pureGetters\",\n \"setClassMethods\",\n \"setComputedProperties\",\n \"setPublicClassFields\",\n \"setSpreadProperties\",\n \"skipForOfIteratorClosing\",\n \"superIsCallableConstructor\",\n] as const;\nexport type AssumptionName = (typeof knownAssumptions)[number];\nexport const assumptionsNames = new Set(knownAssumptions);\n\nfunction getSource(loc: NestingPath): OptionsSource {\n return loc.type === \"root\" ? loc.source : getSource(loc.parent);\n}\n\nexport function validate(\n type: OptionsSource,\n opts: {},\n filename?: string,\n): ValidatedOptions {\n try {\n return validateNested(\n {\n type: \"root\",\n source: type,\n },\n opts,\n );\n } catch (error) {\n const configError = new ConfigError(error.message, filename);\n // @ts-expect-error TODO: .code is not defined on ConfigError or Error\n if (error.code) configError.code = error.code;\n throw configError;\n }\n}\n\nfunction validateNested(loc: NestingPath, opts: { [key: string]: unknown }) {\n const type = getSource(loc);\n\n assertNoDuplicateSourcemap(opts);\n\n Object.keys(opts).forEach((key: string) => {\n const optLoc = {\n type: \"option\",\n name: key,\n parent: loc,\n } as const;\n\n if (type === \"preset\" && NONPRESET_VALIDATORS[key]) {\n throw new Error(`${msg(optLoc)} is not allowed in preset options`);\n }\n if (type !== \"arguments\" && ROOT_VALIDATORS[key]) {\n throw new Error(\n `${msg(optLoc)} is only allowed in root programmatic options`,\n );\n }\n if (\n type !== \"arguments\" &&\n type !== \"configfile\" &&\n BABELRC_VALIDATORS[key]\n ) {\n if (type === \"babelrcfile\" || type === \"extendsfile\") {\n throw new Error(\n `${msg(\n optLoc,\n )} is not allowed in .babelrc or \"extends\"ed files, only in root programmatic options, ` +\n `or babel.config.js/config file options`,\n );\n }\n\n throw new Error(\n `${msg(\n optLoc,\n )} is only allowed in root programmatic options, or babel.config.js/config file options`,\n );\n }\n\n const validator =\n COMMON_VALIDATORS[key] ||\n NONPRESET_VALIDATORS[key] ||\n BABELRC_VALIDATORS[key] ||\n ROOT_VALIDATORS[key] ||\n (throwUnknownError as Validator);\n\n validator(optLoc, opts[key]);\n });\n\n return opts;\n}\n\nfunction throwUnknownError(loc: OptionPath) {\n const key = loc.name;\n\n if (removed[key]) {\n const { message, version = 5 } = removed[key];\n\n throw new Error(\n `Using removed Babel ${version} option: ${msg(loc)} - ${message}`,\n );\n } else {\n // eslint-disable-next-line max-len\n const unknownOptErr = new Error(\n `Unknown option: ${msg(\n loc,\n )}. Check out https://babeljs.io/docs/en/babel-core/#options for more information about options.`,\n );\n // @ts-expect-error todo(flow->ts): consider creating something like BabelConfigError with code field in it\n unknownOptErr.code = \"BABEL_UNKNOWN_OPTION\";\n\n throw unknownOptErr;\n }\n}\n\nfunction has(obj: {}, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nfunction assertNoDuplicateSourcemap(opts: {}): void {\n if (has(opts, \"sourceMap\") && has(opts, \"sourceMaps\")) {\n throw new Error(\".sourceMap is an alias for .sourceMaps, cannot use both\");\n }\n}\n\nfunction assertEnvSet(\n loc: OptionPath,\n value: unknown,\n): void | EnvSet {\n if (loc.parent.type === \"env\") {\n throw new Error(`${msg(loc)} is not allowed inside of another .env block`);\n }\n const parent: RootPath | OverridesPath = loc.parent;\n\n const obj = assertObject(loc, value);\n if (obj) {\n // Validate but don't copy the .env object in order to preserve\n // object identity for use during config chain processing.\n for (const envName of Object.keys(obj)) {\n const env = assertObject(access(loc, envName), obj[envName]);\n if (!env) continue;\n\n const envLoc = {\n type: \"env\",\n name: envName,\n parent,\n } as const;\n validateNested(envLoc, env);\n }\n }\n return obj;\n}\n\nfunction assertOverridesList(\n loc: OptionPath,\n value: unknown[],\n): undefined | OverridesList {\n if (loc.parent.type === \"env\") {\n throw new Error(`${msg(loc)} is not allowed inside an .env block`);\n }\n if (loc.parent.type === \"overrides\") {\n throw new Error(`${msg(loc)} is not allowed inside an .overrides block`);\n }\n const parent: RootPath = loc.parent;\n\n const arr = assertArray(loc, value);\n if (arr) {\n for (const [index, item] of arr.entries()) {\n const objLoc = access(loc, index);\n const env = assertObject(objLoc, item);\n if (!env) throw new Error(`${msg(objLoc)} must be an object`);\n\n const overridesLoc = {\n type: \"overrides\",\n index,\n parent,\n } as const;\n validateNested(overridesLoc, env);\n }\n }\n return arr as OverridesList;\n}\n\nexport function checkNoUnwrappedItemOptionPairs(\n items: Array,\n index: number,\n type: \"plugin\" | \"preset\",\n e: Error,\n): void {\n if (index === 0) return;\n\n const lastItem = items[index - 1];\n const thisItem = items[index];\n\n if (\n lastItem.file &&\n lastItem.options === undefined &&\n typeof thisItem.value === \"object\"\n ) {\n e.message +=\n `\\n- Maybe you meant to use\\n` +\n `\"${type}s\": [\\n [\"${lastItem.file.request}\", ${JSON.stringify(\n thisItem.value,\n undefined,\n 2,\n )}]\\n]\\n` +\n `To be a valid ${type}, its name and options should be wrapped in a pair of brackets`;\n }\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/config/validation/plugins.js.map b/node_modules/@babel/core/lib/config/validation/plugins.js.map index a76abc768..f85358747 100644 --- a/node_modules/@babel/core/lib/config/validation/plugins.js.map +++ b/node_modules/@babel/core/lib/config/validation/plugins.js.map @@ -1 +1 @@ -{"version":3,"names":["_optionAssertions","require","VALIDATORS","name","assertString","manipulateOptions","assertFunction","pre","post","inherits","visitor","assertVisitorMap","parserOverride","generatorOverride","loc","value","obj","assertObject","Object","keys","forEach","prop","assertVisitorHandler","enter","exit","Error","msg","key","handler","validatePluginObject","rootPath","type","source","validator","optLoc","parent","invalidPluginPropertyError","code"],"sources":["../../../src/config/validation/plugins.ts"],"sourcesContent":["import {\n assertString,\n assertFunction,\n assertObject,\n msg,\n} from \"./option-assertions\";\n\nimport type {\n ValidatorSet,\n Validator,\n OptionPath,\n RootPath,\n} from \"./option-assertions\";\nimport type { ParserOptions } from \"@babel/parser\";\nimport type { Visitor } from \"@babel/traverse\";\nimport type { ValidatedOptions } from \"./options\";\nimport type { File, PluginPass } from \"../../index\";\n\n// Note: The casts here are just meant to be static assertions to make sure\n// that the assertion functions actually assert that the value's type matches\n// the declared types.\nconst VALIDATORS: ValidatorSet = {\n name: assertString as Validator,\n manipulateOptions: assertFunction as Validator<\n PluginObject[\"manipulateOptions\"]\n >,\n pre: assertFunction as Validator,\n post: assertFunction as Validator,\n inherits: assertFunction as Validator,\n visitor: assertVisitorMap as Validator,\n\n parserOverride: assertFunction as Validator,\n generatorOverride: assertFunction as Validator<\n PluginObject[\"generatorOverride\"]\n >,\n};\n\nfunction assertVisitorMap(loc: OptionPath, value: unknown): Visitor {\n const obj = assertObject(loc, value);\n if (obj) {\n Object.keys(obj).forEach(prop => assertVisitorHandler(prop, obj[prop]));\n\n if (obj.enter || obj.exit) {\n throw new Error(\n `${msg(\n loc,\n )} cannot contain catch-all \"enter\" or \"exit\" handlers. Please target individual nodes.`,\n );\n }\n }\n return obj as Visitor;\n}\n\nfunction assertVisitorHandler(\n key: string,\n value: unknown,\n): VisitorHandler | void {\n if (value && typeof value === \"object\") {\n Object.keys(value).forEach((handler: string) => {\n if (handler !== \"enter\" && handler !== \"exit\") {\n throw new Error(\n `.visitor[\"${key}\"] may only have .enter and/or .exit handlers.`,\n );\n }\n });\n } else if (typeof value !== \"function\") {\n throw new Error(`.visitor[\"${key}\"] must be a function`);\n }\n\n return value as any;\n}\n\ntype VisitorHandler =\n | Function\n | {\n enter?: Function;\n exit?: Function;\n };\n\nexport type PluginObject = {\n name?: string;\n manipulateOptions?: (\n options: ValidatedOptions,\n parserOpts: ParserOptions,\n ) => void;\n pre?: (this: S, file: File) => void;\n post?: (this: S, file: File) => void;\n inherits?: Function;\n visitor?: Visitor;\n parserOverride?: Function;\n generatorOverride?: Function;\n};\n\nexport function validatePluginObject(obj: {\n [key: string]: unknown;\n}): PluginObject {\n const rootPath: RootPath = {\n type: \"root\",\n source: \"plugin\",\n };\n Object.keys(obj).forEach((key: string) => {\n const validator = VALIDATORS[key];\n\n if (validator) {\n const optLoc: OptionPath = {\n type: \"option\",\n name: key,\n parent: rootPath,\n };\n validator(optLoc, obj[key]);\n } else {\n const invalidPluginPropertyError = new Error(\n `.${key} is not a valid Plugin property`,\n );\n // @ts-expect-error todo(flow->ts) consider adding BabelConfigError with code field\n invalidPluginPropertyError.code = \"BABEL_UNKNOWN_PLUGIN_PROPERTY\";\n throw invalidPluginPropertyError;\n }\n });\n\n return obj as any;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAqBA,MAAMC,UAAwB,GAAG;EAC/BC,IAAI,EAAEC,8BAA+C;EACrDC,iBAAiB,EAAEC,gCAElB;EACDC,GAAG,EAAED,gCAAgD;EACrDE,IAAI,EAAEF,gCAAiD;EACvDG,QAAQ,EAAEH,gCAAqD;EAC/DI,OAAO,EAAEC,gBAAsD;EAE/DC,cAAc,EAAEN,gCAA2D;EAC3EO,iBAAiB,EAAEP;AAGrB,CAAC;AAED,SAASK,gBAAgBA,CAACG,GAAe,EAAEC,KAAc,EAAW;EAClE,MAAMC,GAAG,GAAG,IAAAC,8BAAY,EAACH,GAAG,EAAEC,KAAK,CAAC;EACpC,IAAIC,GAAG,EAAE;IACPE,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAACI,OAAO,CAACC,IAAI,IAAIC,oBAAoB,CAACD,IAAI,EAAEL,GAAG,CAACK,IAAI,CAAC,CAAC,CAAC;IAEvE,IAAIL,GAAG,CAACO,KAAK,IAAIP,GAAG,CAACQ,IAAI,EAAE;MACzB,MAAM,IAAIC,KAAK,CACZ,GAAE,IAAAC,qBAAG,EACJZ,GAAG,CACH,uFAAsF,CACzF;IACH;EACF;EACA,OAAOE,GAAG;AACZ;AAEA,SAASM,oBAAoBA,CAC3BK,GAAW,EACXZ,KAAc,EACS;EACvB,IAAIA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACtCG,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,OAAO,CAAEQ,OAAe,IAAK;MAC9C,IAAIA,OAAO,KAAK,OAAO,IAAIA,OAAO,KAAK,MAAM,EAAE;QAC7C,MAAM,IAAIH,KAAK,CACZ,aAAYE,GAAI,gDAA+C,CACjE;MACH;IACF,CAAC,CAAC;EACJ,CAAC,MAAM,IAAI,OAAOZ,KAAK,KAAK,UAAU,EAAE;IACtC,MAAM,IAAIU,KAAK,CAAE,aAAYE,GAAI,uBAAsB,CAAC;EAC1D;EAEA,OAAOZ,KAAK;AACd;AAuBO,SAASc,oBAAoBA,CAACb,GAEpC,EAAgB;EACf,MAAMc,QAAkB,GAAG;IACzBC,IAAI,EAAE,MAAM;IACZC,MAAM,EAAE;EACV,CAAC;EACDd,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAACI,OAAO,CAAEO,GAAW,IAAK;IACxC,MAAMM,SAAS,GAAG/B,UAAU,CAACyB,GAAG,CAAC;IAEjC,IAAIM,SAAS,EAAE;MACb,MAAMC,MAAkB,GAAG;QACzBH,IAAI,EAAE,QAAQ;QACd5B,IAAI,EAAEwB,GAAG;QACTQ,MAAM,EAAEL;MACV,CAAC;MACDG,SAAS,CAACC,MAAM,EAAElB,GAAG,CAACW,GAAG,CAAC,CAAC;IAC7B,CAAC,MAAM;MACL,MAAMS,0BAA0B,GAAG,IAAIX,KAAK,CACzC,IAAGE,GAAI,iCAAgC,CACzC;MAEDS,0BAA0B,CAACC,IAAI,GAAG,+BAA+B;MACjE,MAAMD,0BAA0B;IAClC;EACF,CAAC,CAAC;EAEF,OAAOpB,GAAG;AACZ;AAAC"} \ No newline at end of file +{"version":3,"names":["_optionAssertions","require","VALIDATORS","name","assertString","manipulateOptions","assertFunction","pre","post","inherits","visitor","assertVisitorMap","parserOverride","generatorOverride","loc","value","obj","assertObject","Object","keys","forEach","prop","assertVisitorHandler","enter","exit","Error","msg","key","handler","validatePluginObject","rootPath","type","source","validator","optLoc","parent","invalidPluginPropertyError","code"],"sources":["../../../src/config/validation/plugins.ts"],"sourcesContent":["import {\n assertString,\n assertFunction,\n assertObject,\n msg,\n} from \"./option-assertions\";\n\nimport type {\n ValidatorSet,\n Validator,\n OptionPath,\n RootPath,\n} from \"./option-assertions\";\nimport type { ParserOptions } from \"@babel/parser\";\nimport type { Visitor } from \"@babel/traverse\";\nimport type { ValidatedOptions } from \"./options\";\nimport type { File, PluginPass } from \"../../index\";\n\n// Note: The casts here are just meant to be static assertions to make sure\n// that the assertion functions actually assert that the value's type matches\n// the declared types.\nconst VALIDATORS: ValidatorSet = {\n name: assertString as Validator,\n manipulateOptions: assertFunction as Validator<\n PluginObject[\"manipulateOptions\"]\n >,\n pre: assertFunction as Validator,\n post: assertFunction as Validator,\n inherits: assertFunction as Validator,\n visitor: assertVisitorMap as Validator,\n\n parserOverride: assertFunction as Validator,\n generatorOverride: assertFunction as Validator<\n PluginObject[\"generatorOverride\"]\n >,\n};\n\nfunction assertVisitorMap(loc: OptionPath, value: unknown): Visitor {\n const obj = assertObject(loc, value);\n if (obj) {\n Object.keys(obj).forEach(prop => assertVisitorHandler(prop, obj[prop]));\n\n if (obj.enter || obj.exit) {\n throw new Error(\n `${msg(\n loc,\n )} cannot contain catch-all \"enter\" or \"exit\" handlers. Please target individual nodes.`,\n );\n }\n }\n return obj as Visitor;\n}\n\nfunction assertVisitorHandler(\n key: string,\n value: unknown,\n): VisitorHandler | void {\n if (value && typeof value === \"object\") {\n Object.keys(value).forEach((handler: string) => {\n if (handler !== \"enter\" && handler !== \"exit\") {\n throw new Error(\n `.visitor[\"${key}\"] may only have .enter and/or .exit handlers.`,\n );\n }\n });\n } else if (typeof value !== \"function\") {\n throw new Error(`.visitor[\"${key}\"] must be a function`);\n }\n\n return value as any;\n}\n\ntype VisitorHandler =\n | Function\n | {\n enter?: Function;\n exit?: Function;\n };\n\nexport type PluginObject = {\n name?: string;\n manipulateOptions?: (\n options: ValidatedOptions,\n parserOpts: ParserOptions,\n ) => void;\n pre?: (this: S, file: File) => void;\n post?: (this: S, file: File) => void;\n inherits?: Function;\n visitor?: Visitor;\n parserOverride?: Function;\n generatorOverride?: Function;\n};\n\nexport function validatePluginObject(obj: {\n [key: string]: unknown;\n}): PluginObject {\n const rootPath: RootPath = {\n type: \"root\",\n source: \"plugin\",\n };\n Object.keys(obj).forEach((key: string) => {\n const validator = VALIDATORS[key];\n\n if (validator) {\n const optLoc: OptionPath = {\n type: \"option\",\n name: key,\n parent: rootPath,\n };\n validator(optLoc, obj[key]);\n } else {\n const invalidPluginPropertyError = new Error(\n `.${key} is not a valid Plugin property`,\n );\n // @ts-expect-error todo(flow->ts) consider adding BabelConfigError with code field\n invalidPluginPropertyError.code = \"BABEL_UNKNOWN_PLUGIN_PROPERTY\";\n throw invalidPluginPropertyError;\n }\n });\n\n return obj as any;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAqBA,MAAMC,UAAwB,GAAG;EAC/BC,IAAI,EAAEC,8BAA+C;EACrDC,iBAAiB,EAAEC,gCAElB;EACDC,GAAG,EAAED,gCAAgD;EACrDE,IAAI,EAAEF,gCAAiD;EACvDG,QAAQ,EAAEH,gCAAqD;EAC/DI,OAAO,EAAEC,gBAAsD;EAE/DC,cAAc,EAAEN,gCAA2D;EAC3EO,iBAAiB,EAAEP;AAGrB,CAAC;AAED,SAASK,gBAAgBA,CAACG,GAAe,EAAEC,KAAc,EAAW;EAClE,MAAMC,GAAG,GAAG,IAAAC,8BAAY,EAACH,GAAG,EAAEC,KAAK,CAAC;EACpC,IAAIC,GAAG,EAAE;IACPE,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAACI,OAAO,CAACC,IAAI,IAAIC,oBAAoB,CAACD,IAAI,EAAEL,GAAG,CAACK,IAAI,CAAC,CAAC,CAAC;IAEvE,IAAIL,GAAG,CAACO,KAAK,IAAIP,GAAG,CAACQ,IAAI,EAAE;MACzB,MAAM,IAAIC,KAAK,CACZ,GAAE,IAAAC,qBAAG,EACJZ,GACF,CAAE,uFACJ,CAAC;IACH;EACF;EACA,OAAOE,GAAG;AACZ;AAEA,SAASM,oBAAoBA,CAC3BK,GAAW,EACXZ,KAAc,EACS;EACvB,IAAIA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACtCG,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,OAAO,CAAEQ,OAAe,IAAK;MAC9C,IAAIA,OAAO,KAAK,OAAO,IAAIA,OAAO,KAAK,MAAM,EAAE;QAC7C,MAAM,IAAIH,KAAK,CACZ,aAAYE,GAAI,gDACnB,CAAC;MACH;IACF,CAAC,CAAC;EACJ,CAAC,MAAM,IAAI,OAAOZ,KAAK,KAAK,UAAU,EAAE;IACtC,MAAM,IAAIU,KAAK,CAAE,aAAYE,GAAI,uBAAsB,CAAC;EAC1D;EAEA,OAAOZ,KAAK;AACd;AAuBO,SAASc,oBAAoBA,CAACb,GAEpC,EAAgB;EACf,MAAMc,QAAkB,GAAG;IACzBC,IAAI,EAAE,MAAM;IACZC,MAAM,EAAE;EACV,CAAC;EACDd,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAACI,OAAO,CAAEO,GAAW,IAAK;IACxC,MAAMM,SAAS,GAAG/B,UAAU,CAACyB,GAAG,CAAC;IAEjC,IAAIM,SAAS,EAAE;MACb,MAAMC,MAAkB,GAAG;QACzBH,IAAI,EAAE,QAAQ;QACd5B,IAAI,EAAEwB,GAAG;QACTQ,MAAM,EAAEL;MACV,CAAC;MACDG,SAAS,CAACC,MAAM,EAAElB,GAAG,CAACW,GAAG,CAAC,CAAC;IAC7B,CAAC,MAAM;MACL,MAAMS,0BAA0B,GAAG,IAAIX,KAAK,CACzC,IAAGE,GAAI,iCACV,CAAC;MAEDS,0BAA0B,CAACC,IAAI,GAAG,+BAA+B;MACjE,MAAMD,0BAA0B;IAClC;EACF,CAAC,CAAC;EAEF,OAAOpB,GAAG;AACZ;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js.map b/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js.map index fa8adaf9a..c43283bb9 100644 --- a/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js.map +++ b/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js.map @@ -1 +1 @@ -{"version":3,"names":["ErrorToString","Function","call","bind","Error","prototype","toString","SUPPORTED","captureStackTrace","START_HIDING","STOP_HIDING","expectedErrors","WeakSet","virtualFrames","WeakMap","CallSite","filename","Object","create","isNative","isConstructor","isToplevel","getFileName","getLineNumber","undefined","getColumnNumber","getFunctionName","getMethodName","getTypeName","injectVirtualStackFrame","error","frames","get","set","push","expectedError","add","beginHiddenCallStack","fn","defineProperty","args","setupPrepareStackTrace","value","endHiddenCallStack","prepareStackTrace","defaultPrepareStackTrace","MIN_STACK_TRACE_LIMIT","stackTraceLimit","Math","max","stackTraceRewriter","err","trace","newTrace","isExpected","has","status","i","length","name","unshift","join"],"sources":["../../src/errors/rewrite-stack-trace.ts"],"sourcesContent":["/**\n * This file uses the internal V8 Stack Trace API (https://v8.dev/docs/stack-trace-api)\n * to provide utilities to rewrite the stack trace.\n * When this API is not present, all the functions in this file become noops.\n *\n * beginHiddenCallStack(fn) and endHiddenCallStack(fn) wrap their parameter to\n * mark an hidden portion of the stack trace. The function passed to\n * beginHiddenCallStack is the first hidden function, while the function passed\n * to endHiddenCallStack is the first shown function.\n *\n * When an error is thrown _outside_ of the hidden zone, everything between\n * beginHiddenCallStack and endHiddenCallStack will not be shown.\n * If an error is thrown _inside_ the hidden zone, then the whole stack trace\n * will be visible: this is to avoid hiding real bugs.\n * However, if an error inside the hidden zone is expected, it can be marked\n * with the expectedError(error) function to keep the hidden frames hidden.\n *\n * Consider this call stack (the outer function is the bottom one):\n *\n * 1. a()\n * 2. endHiddenCallStack(b)()\n * 3. c()\n * 4. beginHiddenCallStack(d)()\n * 5. e()\n * 6. f()\n *\n * - If a() throws an error, then its shown call stack will be \"a, b, e, f\"\n * - If b() throws an error, then its shown call stack will be \"b, e, f\"\n * - If c() throws an expected error, then its shown call stack will be \"e, f\"\n * - If c() throws an unexpected error, then its shown call stack will be \"c, d, e, f\"\n * - If d() throws an expected error, then its shown call stack will be \"e, f\"\n * - If d() throws an unexpected error, then its shown call stack will be \"d, e, f\"\n * - If e() throws an error, then its shown call stack will be \"e, f\"\n *\n * Additionally, an error can inject additional \"virtual\" stack frames using the\n * injectVirtualStackFrame(error, filename) function: those are injected as a\n * replacement of the hidden frames.\n * In the example above, if we called injectVirtualStackFrame(err, \"h\") and\n * injectVirtualStackFrame(err, \"i\") on the expected error thrown by c(), its\n * shown call stack would have been \"h, i, e, f\".\n * This can be useful, for example, to report config validation errors as if they\n * were directly thrown in the config file.\n */\n\nconst ErrorToString = Function.call.bind(Error.prototype.toString);\n\nconst SUPPORTED = !!Error.captureStackTrace;\n\nconst START_HIDING = \"startHiding - secret - don't use this - v1\";\nconst STOP_HIDING = \"stopHiding - secret - don't use this - v1\";\n\ntype CallSite = Parameters[1][number];\n\nconst expectedErrors = new WeakSet();\nconst virtualFrames = new WeakMap();\n\nfunction CallSite(filename: string): CallSite {\n // We need to use a prototype otherwise it breaks source-map-support's internals\n return Object.create({\n isNative: () => false,\n isConstructor: () => false,\n isToplevel: () => true,\n getFileName: () => filename,\n getLineNumber: () => undefined,\n getColumnNumber: () => undefined,\n getFunctionName: () => undefined,\n getMethodName: () => undefined,\n getTypeName: () => undefined,\n toString: () => filename,\n } as CallSite);\n}\n\nexport function injectVirtualStackFrame(error: Error, filename: string) {\n if (!SUPPORTED) return;\n\n let frames = virtualFrames.get(error);\n if (!frames) virtualFrames.set(error, (frames = []));\n frames.push(CallSite(filename));\n\n return error;\n}\n\nexport function expectedError(error: Error) {\n if (!SUPPORTED) return;\n expectedErrors.add(error);\n return error;\n}\n\nexport function beginHiddenCallStack(\n fn: (...args: A) => R,\n) {\n if (!SUPPORTED) return fn;\n\n return Object.defineProperty(\n function (...args: A) {\n setupPrepareStackTrace();\n return fn(...args);\n },\n \"name\",\n { value: STOP_HIDING },\n );\n}\n\nexport function endHiddenCallStack(\n fn: (...args: A) => R,\n) {\n if (!SUPPORTED) return fn;\n\n return Object.defineProperty(\n function (...args: A) {\n return fn(...args);\n },\n \"name\",\n { value: START_HIDING },\n );\n}\n\nfunction setupPrepareStackTrace() {\n // @ts-expect-error This function is a singleton\n // eslint-disable-next-line no-func-assign\n setupPrepareStackTrace = () => {};\n\n const { prepareStackTrace = defaultPrepareStackTrace } = Error;\n\n // We add some extra frames to Error.stackTraceLimit, so that we can\n // always show some useful frames even after deleting ours.\n // STACK_TRACE_LIMIT_DELTA should be around the maximum expected number\n // of internal frames, and not too big because capturing the stack trace\n // is slow (this is why Error.stackTraceLimit does not default to Infinity!).\n // Increase it if needed.\n // However, we only do it if the user did not explicitly set it to 0.\n const MIN_STACK_TRACE_LIMIT = 50;\n Error.stackTraceLimit &&= Math.max(\n Error.stackTraceLimit,\n MIN_STACK_TRACE_LIMIT,\n );\n\n Error.prepareStackTrace = function stackTraceRewriter(err, trace) {\n let newTrace = [];\n\n const isExpected = expectedErrors.has(err);\n let status: \"showing\" | \"hiding\" | \"unknown\" = isExpected\n ? \"hiding\"\n : \"unknown\";\n for (let i = 0; i < trace.length; i++) {\n const name = trace[i].getFunctionName();\n if (name === START_HIDING) {\n status = \"hiding\";\n } else if (name === STOP_HIDING) {\n if (status === \"hiding\") {\n status = \"showing\";\n if (virtualFrames.has(err)) {\n newTrace.unshift(...virtualFrames.get(err));\n }\n } else if (status === \"unknown\") {\n // Unexpected internal error, show the full stack trace\n newTrace = trace;\n break;\n }\n } else if (status !== \"hiding\") {\n newTrace.push(trace[i]);\n }\n }\n\n return prepareStackTrace(err, newTrace);\n };\n}\n\nfunction defaultPrepareStackTrace(err: Error, trace: CallSite[]) {\n if (trace.length === 0) return ErrorToString(err);\n return `${ErrorToString(err)}\\n at ${trace.join(\"\\n at \")}`;\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["ErrorToString","Function","call","bind","Error","prototype","toString","SUPPORTED","captureStackTrace","START_HIDING","STOP_HIDING","expectedErrors","WeakSet","virtualFrames","WeakMap","CallSite","filename","Object","create","isNative","isConstructor","isToplevel","getFileName","getLineNumber","undefined","getColumnNumber","getFunctionName","getMethodName","getTypeName","injectVirtualStackFrame","error","frames","get","set","push","expectedError","add","beginHiddenCallStack","fn","defineProperty","args","setupPrepareStackTrace","value","endHiddenCallStack","prepareStackTrace","defaultPrepareStackTrace","MIN_STACK_TRACE_LIMIT","stackTraceLimit","Math","max","stackTraceRewriter","err","trace","newTrace","isExpected","has","status","i","length","name","unshift","join"],"sources":["../../src/errors/rewrite-stack-trace.ts"],"sourcesContent":["/**\n * This file uses the internal V8 Stack Trace API (https://v8.dev/docs/stack-trace-api)\n * to provide utilities to rewrite the stack trace.\n * When this API is not present, all the functions in this file become noops.\n *\n * beginHiddenCallStack(fn) and endHiddenCallStack(fn) wrap their parameter to\n * mark an hidden portion of the stack trace. The function passed to\n * beginHiddenCallStack is the first hidden function, while the function passed\n * to endHiddenCallStack is the first shown function.\n *\n * When an error is thrown _outside_ of the hidden zone, everything between\n * beginHiddenCallStack and endHiddenCallStack will not be shown.\n * If an error is thrown _inside_ the hidden zone, then the whole stack trace\n * will be visible: this is to avoid hiding real bugs.\n * However, if an error inside the hidden zone is expected, it can be marked\n * with the expectedError(error) function to keep the hidden frames hidden.\n *\n * Consider this call stack (the outer function is the bottom one):\n *\n * 1. a()\n * 2. endHiddenCallStack(b)()\n * 3. c()\n * 4. beginHiddenCallStack(d)()\n * 5. e()\n * 6. f()\n *\n * - If a() throws an error, then its shown call stack will be \"a, b, e, f\"\n * - If b() throws an error, then its shown call stack will be \"b, e, f\"\n * - If c() throws an expected error, then its shown call stack will be \"e, f\"\n * - If c() throws an unexpected error, then its shown call stack will be \"c, d, e, f\"\n * - If d() throws an expected error, then its shown call stack will be \"e, f\"\n * - If d() throws an unexpected error, then its shown call stack will be \"d, e, f\"\n * - If e() throws an error, then its shown call stack will be \"e, f\"\n *\n * Additionally, an error can inject additional \"virtual\" stack frames using the\n * injectVirtualStackFrame(error, filename) function: those are injected as a\n * replacement of the hidden frames.\n * In the example above, if we called injectVirtualStackFrame(err, \"h\") and\n * injectVirtualStackFrame(err, \"i\") on the expected error thrown by c(), its\n * shown call stack would have been \"h, i, e, f\".\n * This can be useful, for example, to report config validation errors as if they\n * were directly thrown in the config file.\n */\n\nconst ErrorToString = Function.call.bind(Error.prototype.toString);\n\nconst SUPPORTED = !!Error.captureStackTrace;\n\nconst START_HIDING = \"startHiding - secret - don't use this - v1\";\nconst STOP_HIDING = \"stopHiding - secret - don't use this - v1\";\n\ntype CallSite = Parameters[1][number];\n\nconst expectedErrors = new WeakSet();\nconst virtualFrames = new WeakMap();\n\nfunction CallSite(filename: string): CallSite {\n // We need to use a prototype otherwise it breaks source-map-support's internals\n return Object.create({\n isNative: () => false,\n isConstructor: () => false,\n isToplevel: () => true,\n getFileName: () => filename,\n getLineNumber: () => undefined,\n getColumnNumber: () => undefined,\n getFunctionName: () => undefined,\n getMethodName: () => undefined,\n getTypeName: () => undefined,\n toString: () => filename,\n } as CallSite);\n}\n\nexport function injectVirtualStackFrame(error: Error, filename: string) {\n if (!SUPPORTED) return;\n\n let frames = virtualFrames.get(error);\n if (!frames) virtualFrames.set(error, (frames = []));\n frames.push(CallSite(filename));\n\n return error;\n}\n\nexport function expectedError(error: Error) {\n if (!SUPPORTED) return;\n expectedErrors.add(error);\n return error;\n}\n\nexport function beginHiddenCallStack(\n fn: (...args: A) => R,\n) {\n if (!SUPPORTED) return fn;\n\n return Object.defineProperty(\n function (...args: A) {\n setupPrepareStackTrace();\n return fn(...args);\n },\n \"name\",\n { value: STOP_HIDING },\n );\n}\n\nexport function endHiddenCallStack(\n fn: (...args: A) => R,\n) {\n if (!SUPPORTED) return fn;\n\n return Object.defineProperty(\n function (...args: A) {\n return fn(...args);\n },\n \"name\",\n { value: START_HIDING },\n );\n}\n\nfunction setupPrepareStackTrace() {\n // @ts-expect-error This function is a singleton\n // eslint-disable-next-line no-func-assign\n setupPrepareStackTrace = () => {};\n\n const { prepareStackTrace = defaultPrepareStackTrace } = Error;\n\n // We add some extra frames to Error.stackTraceLimit, so that we can\n // always show some useful frames even after deleting ours.\n // STACK_TRACE_LIMIT_DELTA should be around the maximum expected number\n // of internal frames, and not too big because capturing the stack trace\n // is slow (this is why Error.stackTraceLimit does not default to Infinity!).\n // Increase it if needed.\n // However, we only do it if the user did not explicitly set it to 0.\n const MIN_STACK_TRACE_LIMIT = 50;\n Error.stackTraceLimit &&= Math.max(\n Error.stackTraceLimit,\n MIN_STACK_TRACE_LIMIT,\n );\n\n Error.prepareStackTrace = function stackTraceRewriter(err, trace) {\n let newTrace = [];\n\n const isExpected = expectedErrors.has(err);\n let status: \"showing\" | \"hiding\" | \"unknown\" = isExpected\n ? \"hiding\"\n : \"unknown\";\n for (let i = 0; i < trace.length; i++) {\n const name = trace[i].getFunctionName();\n if (name === START_HIDING) {\n status = \"hiding\";\n } else if (name === STOP_HIDING) {\n if (status === \"hiding\") {\n status = \"showing\";\n if (virtualFrames.has(err)) {\n newTrace.unshift(...virtualFrames.get(err));\n }\n } else if (status === \"unknown\") {\n // Unexpected internal error, show the full stack trace\n newTrace = trace;\n break;\n }\n } else if (status !== \"hiding\") {\n newTrace.push(trace[i]);\n }\n }\n\n return prepareStackTrace(err, newTrace);\n };\n}\n\nfunction defaultPrepareStackTrace(err: Error, trace: CallSite[]) {\n if (trace.length === 0) return ErrorToString(err);\n return `${ErrorToString(err)}\\n at ${trace.join(\"\\n at \")}`;\n}\n"],"mappings":";;;;;;;;;AA4CA,MAAMA,aAAa,GAAGC,QAAQ,CAACC,IAAI,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,CAACC,QAAQ,CAAC;AAElE,MAAMC,SAAS,GAAG,CAAC,CAACH,KAAK,CAACI,iBAAiB;AAE3C,MAAMC,YAAY,GAAG,4CAA4C;AACjE,MAAMC,WAAW,GAAG,2CAA2C;AAI/D,MAAMC,cAAc,GAAG,IAAIC,OAAO,CAAQ,CAAC;AAC3C,MAAMC,aAAa,GAAG,IAAIC,OAAO,CAAoB,CAAC;AAEtD,SAASC,QAAQA,CAACC,QAAgB,EAAY;EAE5C,OAAOC,MAAM,CAACC,MAAM,CAAC;IACnBC,QAAQ,EAAEA,CAAA,KAAM,KAAK;IACrBC,aAAa,EAAEA,CAAA,KAAM,KAAK;IAC1BC,UAAU,EAAEA,CAAA,KAAM,IAAI;IACtBC,WAAW,EAAEA,CAAA,KAAMN,QAAQ;IAC3BO,aAAa,EAAEA,CAAA,KAAMC,SAAS;IAC9BC,eAAe,EAAEA,CAAA,KAAMD,SAAS;IAChCE,eAAe,EAAEA,CAAA,KAAMF,SAAS;IAChCG,aAAa,EAAEA,CAAA,KAAMH,SAAS;IAC9BI,WAAW,EAAEA,CAAA,KAAMJ,SAAS;IAC5BlB,QAAQ,EAAEA,CAAA,KAAMU;EAClB,CAAa,CAAC;AAChB;AAEO,SAASa,uBAAuBA,CAACC,KAAY,EAAEd,QAAgB,EAAE;EACtE,IAAI,CAACT,SAAS,EAAE;EAEhB,IAAIwB,MAAM,GAAGlB,aAAa,CAACmB,GAAG,CAACF,KAAK,CAAC;EACrC,IAAI,CAACC,MAAM,EAAElB,aAAa,CAACoB,GAAG,CAACH,KAAK,EAAGC,MAAM,GAAG,EAAG,CAAC;EACpDA,MAAM,CAACG,IAAI,CAACnB,QAAQ,CAACC,QAAQ,CAAC,CAAC;EAE/B,OAAOc,KAAK;AACd;AAEO,SAASK,aAAaA,CAACL,KAAY,EAAE;EAC1C,IAAI,CAACvB,SAAS,EAAE;EAChBI,cAAc,CAACyB,GAAG,CAACN,KAAK,CAAC;EACzB,OAAOA,KAAK;AACd;AAEO,SAASO,oBAAoBA,CAClCC,EAAqB,EACrB;EACA,IAAI,CAAC/B,SAAS,EAAE,OAAO+B,EAAE;EAEzB,OAAOrB,MAAM,CAACsB,cAAc,CAC1B,UAAU,GAAGC,IAAO,EAAE;IACpBC,sBAAsB,CAAC,CAAC;IACxB,OAAOH,EAAE,CAAC,GAAGE,IAAI,CAAC;EACpB,CAAC,EACD,MAAM,EACN;IAAEE,KAAK,EAAEhC;EAAY,CACvB,CAAC;AACH;AAEO,SAASiC,kBAAkBA,CAChCL,EAAqB,EACrB;EACA,IAAI,CAAC/B,SAAS,EAAE,OAAO+B,EAAE;EAEzB,OAAOrB,MAAM,CAACsB,cAAc,CAC1B,UAAU,GAAGC,IAAO,EAAE;IACpB,OAAOF,EAAE,CAAC,GAAGE,IAAI,CAAC;EACpB,CAAC,EACD,MAAM,EACN;IAAEE,KAAK,EAAEjC;EAAa,CACxB,CAAC;AACH;AAEA,SAASgC,sBAAsBA,CAAA,EAAG;EAGhCA,sBAAsB,GAAGA,CAAA,KAAM,CAAC,CAAC;EAEjC,MAAM;IAAEG,iBAAiB,GAAGC;EAAyB,CAAC,GAAGzC,KAAK;EAS9D,MAAM0C,qBAAqB,GAAG,EAAE;EAChC1C,KAAK,CAAC2C,eAAe,KAArB3C,KAAK,CAAC2C,eAAe,GAAKC,IAAI,CAACC,GAAG,CAChC7C,KAAK,CAAC2C,eAAe,EACrBD,qBACF,CAAC;EAED1C,KAAK,CAACwC,iBAAiB,GAAG,SAASM,kBAAkBA,CAACC,GAAG,EAAEC,KAAK,EAAE;IAChE,IAAIC,QAAQ,GAAG,EAAE;IAEjB,MAAMC,UAAU,GAAG3C,cAAc,CAAC4C,GAAG,CAACJ,GAAG,CAAC;IAC1C,IAAIK,MAAwC,GAAGF,UAAU,GACrD,QAAQ,GACR,SAAS;IACb,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,KAAK,CAACM,MAAM,EAAED,CAAC,EAAE,EAAE;MACrC,MAAME,IAAI,GAAGP,KAAK,CAACK,CAAC,CAAC,CAAC/B,eAAe,CAAC,CAAC;MACvC,IAAIiC,IAAI,KAAKlD,YAAY,EAAE;QACzB+C,MAAM,GAAG,QAAQ;MACnB,CAAC,MAAM,IAAIG,IAAI,KAAKjD,WAAW,EAAE;QAC/B,IAAI8C,MAAM,KAAK,QAAQ,EAAE;UACvBA,MAAM,GAAG,SAAS;UAClB,IAAI3C,aAAa,CAAC0C,GAAG,CAACJ,GAAG,CAAC,EAAE;YAC1BE,QAAQ,CAACO,OAAO,CAAC,GAAG/C,aAAa,CAACmB,GAAG,CAACmB,GAAG,CAAC,CAAC;UAC7C;QACF,CAAC,MAAM,IAAIK,MAAM,KAAK,SAAS,EAAE;UAE/BH,QAAQ,GAAGD,KAAK;UAChB;QACF;MACF,CAAC,MAAM,IAAII,MAAM,KAAK,QAAQ,EAAE;QAC9BH,QAAQ,CAACnB,IAAI,CAACkB,KAAK,CAACK,CAAC,CAAC,CAAC;MACzB;IACF;IAEA,OAAOb,iBAAiB,CAACO,GAAG,EAAEE,QAAQ,CAAC;EACzC,CAAC;AACH;AAEA,SAASR,wBAAwBA,CAACM,GAAU,EAAEC,KAAiB,EAAE;EAC/D,IAAIA,KAAK,CAACM,MAAM,KAAK,CAAC,EAAE,OAAO1D,aAAa,CAACmD,GAAG,CAAC;EACjD,OAAQ,GAAEnD,aAAa,CAACmD,GAAG,CAAE,YAAWC,KAAK,CAACS,IAAI,CAAC,WAAW,CAAE,EAAC;AACnE;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/gensync-utils/async.js.map b/node_modules/@babel/core/lib/gensync-utils/async.js.map index 2687bb5cd..7c49063ca 100644 --- a/node_modules/@babel/core/lib/gensync-utils/async.js.map +++ b/node_modules/@babel/core/lib/gensync-utils/async.js.map @@ -1 +1 @@ -{"version":3,"names":["_gensync","data","require","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","runGenerator","gensync","item","isAsync","sync","errback","cb","exports","maybeAsync","message","result","isThenable","Error","async","withKind","_ref","_x","forwardAsync","action","g","kind","adapted","onFirstPause","name","arity","firstPause","completed","waitFor","x","_ref2","_x2","val"],"sources":["../../src/gensync-utils/async.ts"],"sourcesContent":["import gensync, { type Gensync, type Handler, type Callback } from \"gensync\";\n\ntype MaybePromise = T | Promise;\n\nconst runGenerator: {\n sync(gen: Handler): Return;\n async(gen: Handler): Promise;\n errback(gen: Handler, cb: Callback): void;\n} = gensync(function* (item: Handler): Handler {\n return yield* item;\n});\n\n// This Gensync returns true if the current execution context is\n// asynchronous, otherwise it returns false.\nexport const isAsync = gensync({\n sync: () => false,\n errback: cb => cb(null, true),\n});\n\n// This function wraps any functions (which could be either synchronous or\n// asynchronous) with a Gensync. If the wrapped function returns a promise\n// but the current execution context is synchronous, it will throw the\n// provided error.\n// This is used to handle user-provided functions which could be asynchronous.\nexport function maybeAsync(\n fn: (...args: Args) => Return,\n message: string,\n): Gensync {\n return gensync({\n sync(...args) {\n const result = fn.apply(this, args);\n if (isThenable(result)) throw new Error(message);\n return result;\n },\n async(...args) {\n return Promise.resolve(fn.apply(this, args));\n },\n });\n}\n\nconst withKind = gensync({\n sync: cb => cb(\"sync\"),\n async: async cb => cb(\"async\"),\n}) as (cb: (kind: \"sync\" | \"async\") => MaybePromise) => Handler;\n\n// This function wraps a generator (or a Gensync) into another function which,\n// when called, will run the provided generator in a sync or async way, depending\n// on the execution context where this forwardAsync function is called.\n// This is useful, for example, when passing a callback to a function which isn't\n// aware of gensync, but it only knows about synchronous and asynchronous functions.\n// An example is cache.using, which being exposed to the user must be as simple as\n// possible:\n// yield* forwardAsync(gensyncFn, wrappedFn =>\n// cache.using(x => {\n// // Here we don't know about gensync. wrappedFn is a\n// // normal sync or async function\n// return wrappedFn(x);\n// })\n// )\nexport function forwardAsync(\n action: (...args: Args) => Handler,\n cb: (\n adapted: (...args: Args) => MaybePromise,\n ) => MaybePromise,\n): Handler {\n const g = gensync(action);\n return withKind(kind => {\n const adapted = g[kind];\n return cb(adapted);\n });\n}\n\n// If the given generator is executed asynchronously, the first time that it\n// is paused (i.e. When it yields a gensync generator which can't be run\n// synchronously), call the \"firstPause\" callback.\nexport const onFirstPause = gensync<\n [gen: Handler, firstPause: () => void],\n unknown\n>({\n name: \"onFirstPause\",\n arity: 2,\n sync: function (item) {\n return runGenerator.sync(item);\n },\n errback: function (item, firstPause, cb) {\n let completed = false;\n\n runGenerator.errback(item, (err, value) => {\n completed = true;\n cb(err, value);\n });\n\n if (!completed) {\n firstPause();\n }\n },\n}) as (gen: Handler, firstPause: () => void) => Handler;\n\n// Wait for the given promise to be resolved\nexport const waitFor = gensync({\n sync: x => x,\n async: async x => x,\n}) as (p: T | Promise) => Handler;\n\nexport function isThenable(val: any): val is PromiseLike {\n return (\n !!val &&\n (typeof val === \"object\" || typeof val === \"function\") &&\n !!val.then &&\n typeof val.then === \"function\"\n );\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_gensync","data","require","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","runGenerator","gensync","item","isAsync","sync","errback","cb","exports","maybeAsync","message","result","isThenable","Error","async","withKind","_ref","_x","forwardAsync","action","g","kind","adapted","onFirstPause","name","arity","firstPause","completed","waitFor","x","_ref2","_x2","val"],"sources":["../../src/gensync-utils/async.ts"],"sourcesContent":["import gensync, { type Gensync, type Handler, type Callback } from \"gensync\";\n\ntype MaybePromise = T | Promise;\n\nconst runGenerator: {\n sync(gen: Handler): Return;\n async(gen: Handler): Promise;\n errback(gen: Handler, cb: Callback): void;\n} = gensync(function* (item: Handler): Handler {\n return yield* item;\n});\n\n// This Gensync returns true if the current execution context is\n// asynchronous, otherwise it returns false.\nexport const isAsync = gensync({\n sync: () => false,\n errback: cb => cb(null, true),\n});\n\n// This function wraps any functions (which could be either synchronous or\n// asynchronous) with a Gensync. If the wrapped function returns a promise\n// but the current execution context is synchronous, it will throw the\n// provided error.\n// This is used to handle user-provided functions which could be asynchronous.\nexport function maybeAsync(\n fn: (...args: Args) => Return,\n message: string,\n): Gensync {\n return gensync({\n sync(...args) {\n const result = fn.apply(this, args);\n if (isThenable(result)) throw new Error(message);\n return result;\n },\n async(...args) {\n return Promise.resolve(fn.apply(this, args));\n },\n });\n}\n\nconst withKind = gensync({\n sync: cb => cb(\"sync\"),\n async: async cb => cb(\"async\"),\n}) as (cb: (kind: \"sync\" | \"async\") => MaybePromise) => Handler;\n\n// This function wraps a generator (or a Gensync) into another function which,\n// when called, will run the provided generator in a sync or async way, depending\n// on the execution context where this forwardAsync function is called.\n// This is useful, for example, when passing a callback to a function which isn't\n// aware of gensync, but it only knows about synchronous and asynchronous functions.\n// An example is cache.using, which being exposed to the user must be as simple as\n// possible:\n// yield* forwardAsync(gensyncFn, wrappedFn =>\n// cache.using(x => {\n// // Here we don't know about gensync. wrappedFn is a\n// // normal sync or async function\n// return wrappedFn(x);\n// })\n// )\nexport function forwardAsync(\n action: (...args: Args) => Handler,\n cb: (\n adapted: (...args: Args) => MaybePromise,\n ) => MaybePromise,\n): Handler {\n const g = gensync(action);\n return withKind(kind => {\n const adapted = g[kind];\n return cb(adapted);\n });\n}\n\n// If the given generator is executed asynchronously, the first time that it\n// is paused (i.e. When it yields a gensync generator which can't be run\n// synchronously), call the \"firstPause\" callback.\nexport const onFirstPause = gensync<\n [gen: Handler, firstPause: () => void],\n unknown\n>({\n name: \"onFirstPause\",\n arity: 2,\n sync: function (item) {\n return runGenerator.sync(item);\n },\n errback: function (item, firstPause, cb) {\n let completed = false;\n\n runGenerator.errback(item, (err, value) => {\n completed = true;\n cb(err, value);\n });\n\n if (!completed) {\n firstPause();\n }\n },\n}) as (gen: Handler, firstPause: () => void) => Handler;\n\n// Wait for the given promise to be resolved\nexport const waitFor = gensync({\n sync: x => x,\n async: async x => x,\n}) as (p: T | Promise) => Handler;\n\nexport function isThenable(val: any): val is PromiseLike {\n return (\n !!val &&\n (typeof val === \"object\" || typeof val === \"function\") &&\n !!val.then &&\n typeof val.then === \"function\"\n );\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/gensync-utils/fs.js.map b/node_modules/@babel/core/lib/gensync-utils/fs.js.map index 656058339..6d1a50a5c 100644 --- a/node_modules/@babel/core/lib/gensync-utils/fs.js.map +++ b/node_modules/@babel/core/lib/gensync-utils/fs.js.map @@ -1 +1 @@ -{"version":3,"names":["_fs","data","require","_gensync","readFile","gensync","sync","fs","readFileSync","errback","exports","stat","statSync"],"sources":["../../src/gensync-utils/fs.ts"],"sourcesContent":["import fs from \"fs\";\nimport gensync from \"gensync\";\n\nexport const readFile = gensync<[filepath: string, encoding: \"utf8\"], string>({\n sync: fs.readFileSync,\n errback: fs.readFile,\n});\n\nexport const stat = gensync({\n sync: fs.statSync,\n errback: fs.stat,\n});\n"],"mappings":";;;;;;AAAA,SAAAA,IAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,GAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,SAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMG,QAAQ,GAAGC,UAAO,CAA+C;EAC5EC,IAAI,EAAEC,KAAE,CAACC,YAAY;EACrBC,OAAO,EAAEF,KAAE,CAACH;AACd,CAAC,CAAC;AAACM,OAAA,CAAAN,QAAA,GAAAA,QAAA;AAEI,MAAMO,IAAI,GAAGN,UAAO,CAAC;EAC1BC,IAAI,EAAEC,KAAE,CAACK,QAAQ;EACjBH,OAAO,EAAEF,KAAE,CAACI;AACd,CAAC,CAAC;AAACD,OAAA,CAAAC,IAAA,GAAAA,IAAA;AAAA"} \ No newline at end of file +{"version":3,"names":["_fs","data","require","_gensync","readFile","gensync","sync","fs","readFileSync","errback","exports","stat","statSync"],"sources":["../../src/gensync-utils/fs.ts"],"sourcesContent":["import fs from \"fs\";\nimport gensync from \"gensync\";\n\nexport const readFile = gensync<[filepath: string, encoding: \"utf8\"], string>({\n sync: fs.readFileSync,\n errback: fs.readFile,\n});\n\nexport const stat = gensync({\n sync: fs.statSync,\n errback: fs.stat,\n});\n"],"mappings":";;;;;;AAAA,SAAAA,IAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,GAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,SAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMG,QAAQ,GAAGC,SAAMA,CAAC,CAA+C;EAC5EC,IAAI,EAAEC,IAACA,CAAC,CAACC,YAAY;EACrBC,OAAO,EAAEF,IAACA,CAAC,CAACH;AACd,CAAC,CAAC;AAACM,OAAA,CAAAN,QAAA,GAAAA,QAAA;AAEI,MAAMO,IAAI,GAAGN,SAAMA,CAAC,CAAC;EAC1BC,IAAI,EAAEC,IAACA,CAAC,CAACK,QAAQ;EACjBH,OAAO,EAAEF,IAACA,CAAC,CAACI;AACd,CAAC,CAAC;AAACD,OAAA,CAAAC,IAAA,GAAAA,IAAA;AAAA"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/gensync-utils/functional.js.map b/node_modules/@babel/core/lib/gensync-utils/functional.js.map index df66d16f3..d2a9c4e90 100644 --- a/node_modules/@babel/core/lib/gensync-utils/functional.js.map +++ b/node_modules/@babel/core/lib/gensync-utils/functional.js.map @@ -1 +1 @@ -{"version":3,"names":["_async","require","once","fn","result","resultP","isAsync","waitFor","resolve","reject","Promise","res","rej","error"],"sources":["../../src/gensync-utils/functional.ts"],"sourcesContent":["import type { Handler } from \"gensync\";\n\nimport { isAsync, waitFor } from \"./async\";\n\nexport function once(fn: () => Handler): () => Handler {\n let result: R;\n let resultP: Promise;\n return function* () {\n if (result) return result;\n if (!(yield* isAsync())) return (result = yield* fn());\n if (resultP) return yield* waitFor(resultP);\n\n let resolve: (result: R) => void, reject: (error: unknown) => void;\n resultP = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n\n try {\n result = yield* fn();\n // Avoid keeping the promise around\n // now that we have the result.\n resultP = null;\n resolve(result);\n return result;\n } catch (error) {\n reject(error);\n throw error;\n }\n };\n}\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAEO,SAASC,IAAIA,CAAIC,EAAoB,EAAoB;EAC9D,IAAIC,MAAS;EACb,IAAIC,OAAmB;EACvB,OAAO,aAAa;IAClB,IAAID,MAAM,EAAE,OAAOA,MAAM;IACzB,IAAI,EAAE,OAAO,IAAAE,cAAO,GAAE,CAAC,EAAE,OAAQF,MAAM,GAAG,OAAOD,EAAE,EAAE;IACrD,IAAIE,OAAO,EAAE,OAAO,OAAO,IAAAE,cAAO,EAACF,OAAO,CAAC;IAE3C,IAAIG,OAA4B,EAAEC,MAAgC;IAClEJ,OAAO,GAAG,IAAIK,OAAO,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;MAClCJ,OAAO,GAAGG,GAAG;MACbF,MAAM,GAAGG,GAAG;IACd,CAAC,CAAC;IAEF,IAAI;MACFR,MAAM,GAAG,OAAOD,EAAE,EAAE;MAGpBE,OAAO,GAAG,IAAI;MACdG,OAAO,CAACJ,MAAM,CAAC;MACf,OAAOA,MAAM;IACf,CAAC,CAAC,OAAOS,KAAK,EAAE;MACdJ,MAAM,CAACI,KAAK,CAAC;MACb,MAAMA,KAAK;IACb;EACF,CAAC;AACH;AAAC"} \ No newline at end of file +{"version":3,"names":["_async","require","once","fn","result","resultP","isAsync","waitFor","resolve","reject","Promise","res","rej","error"],"sources":["../../src/gensync-utils/functional.ts"],"sourcesContent":["import type { Handler } from \"gensync\";\n\nimport { isAsync, waitFor } from \"./async\";\n\nexport function once(fn: () => Handler): () => Handler {\n let result: R;\n let resultP: Promise;\n return function* () {\n if (result) return result;\n if (!(yield* isAsync())) return (result = yield* fn());\n if (resultP) return yield* waitFor(resultP);\n\n let resolve: (result: R) => void, reject: (error: unknown) => void;\n resultP = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n\n try {\n result = yield* fn();\n // Avoid keeping the promise around\n // now that we have the result.\n resultP = null;\n resolve(result);\n return result;\n } catch (error) {\n reject(error);\n throw error;\n }\n };\n}\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAEO,SAASC,IAAIA,CAAIC,EAAoB,EAAoB;EAC9D,IAAIC,MAAS;EACb,IAAIC,OAAmB;EACvB,OAAO,aAAa;IAClB,IAAID,MAAM,EAAE,OAAOA,MAAM;IACzB,IAAI,EAAE,OAAO,IAAAE,cAAO,EAAC,CAAC,CAAC,EAAE,OAAQF,MAAM,GAAG,OAAOD,EAAE,CAAC,CAAC;IACrD,IAAIE,OAAO,EAAE,OAAO,OAAO,IAAAE,cAAO,EAACF,OAAO,CAAC;IAE3C,IAAIG,OAA4B,EAAEC,MAAgC;IAClEJ,OAAO,GAAG,IAAIK,OAAO,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;MAClCJ,OAAO,GAAGG,GAAG;MACbF,MAAM,GAAGG,GAAG;IACd,CAAC,CAAC;IAEF,IAAI;MACFR,MAAM,GAAG,OAAOD,EAAE,CAAC,CAAC;MAGpBE,OAAO,GAAG,IAAI;MACdG,OAAO,CAACJ,MAAM,CAAC;MACf,OAAOA,MAAM;IACf,CAAC,CAAC,OAAOS,KAAK,EAAE;MACdJ,MAAM,CAACI,KAAK,CAAC;MACb,MAAMA,KAAK;IACb;EACF,CAAC;AACH;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/index.js b/node_modules/@babel/core/lib/index.js index d3b4ab2a6..b33da3083 100644 --- a/node_modules/@babel/core/lib/index.js +++ b/node_modules/@babel/core/lib/index.js @@ -10,8 +10,6 @@ Object.defineProperty(exports, "File", { return _file.default; } }); -exports.OptionManager = void 0; -exports.Plugin = Plugin; Object.defineProperty(exports, "buildExternalHelpers", { enumerable: true, get: function () { @@ -225,20 +223,23 @@ var _transformFile = require("./transform-file"); var _transformAst = require("./transform-ast"); var _parse = require("./parse"); var thisFile = require("./index"); -const version = "7.21.4"; +const version = "7.22.5"; exports.version = version; const DEFAULT_EXTENSIONS = Object.freeze([".js", ".jsx", ".es6", ".es", ".mjs", ".cjs"]); exports.DEFAULT_EXTENSIONS = DEFAULT_EXTENSIONS; -class OptionManager { - init(opts) { - return (0, _config.loadOptionsSync)(opts); +; +{ + { + exports.OptionManager = class OptionManager { + init(opts) { + return (0, _config.loadOptionsSync)(opts); + } + }; + exports.Plugin = function Plugin(alias) { + throw new Error(`The (${alias}) Babel 5 plugin is being run with an unsupported Babel version.`); + }; } } -exports.OptionManager = OptionManager; -function Plugin(alias) { - throw new Error(`The (${alias}) Babel 5 plugin is being run with an unsupported Babel version.`); -} -; 0 && (exports.types = exports.traverse = exports.tokTypes = exports.template = 0); //# sourceMappingURL=index.js.map diff --git a/node_modules/@babel/core/lib/index.js.map b/node_modules/@babel/core/lib/index.js.map index f1bd4c773..40465ef26 100644 --- a/node_modules/@babel/core/lib/index.js.map +++ b/node_modules/@babel/core/lib/index.js.map @@ -1 +1 @@ -{"version":3,"names":["_file","require","_buildExternalHelpers","_files","_environment","_types","data","Object","defineProperty","exports","enumerable","get","_parser","_traverse","_template","_config","_transform","_transformFile","_transformAst","_parse","thisFile","version","DEFAULT_EXTENSIONS","freeze","OptionManager","init","opts","loadOptionsSync","Plugin","alias","Error","types","traverse","tokTypes","template"],"sources":["../src/index.ts"],"sourcesContent":["declare const PACKAGE_JSON: { name: string; version: string };\ndeclare const USE_ESM: boolean, IS_STANDALONE: boolean;\n\nexport const version = PACKAGE_JSON.version;\n\nexport { default as File } from \"./transformation/file/file\";\nexport type { default as PluginPass } from \"./transformation/plugin-pass\";\nexport { default as buildExternalHelpers } from \"./tools/build-external-helpers\";\nexport { resolvePlugin, resolvePreset } from \"./config/files\";\n\nexport { getEnv } from \"./config/helpers/environment\";\n\n// NOTE: Lazy re-exports aren't detected by the Node.js CJS-ESM interop.\n// These are handled by pluginInjectNodeReexportsHints in our babel.config.js\n// so that they can work well.\nexport * as types from \"@babel/types\";\nexport { tokTypes } from \"@babel/parser\";\nexport { default as traverse } from \"@babel/traverse\";\nexport { default as template } from \"@babel/template\";\n\nexport {\n createConfigItem,\n createConfigItemSync,\n createConfigItemAsync,\n} from \"./config\";\n\nexport {\n loadPartialConfig,\n loadPartialConfigSync,\n loadPartialConfigAsync,\n loadOptions,\n loadOptionsSync,\n loadOptionsAsync,\n} from \"./config\";\n\nexport type {\n CallerMetadata,\n InputOptions,\n PluginAPI,\n PluginObject,\n PresetAPI,\n PresetObject,\n} from \"./config\";\n\nexport {\n transform,\n transformSync,\n transformAsync,\n type FileResult,\n} from \"./transform\";\nexport {\n transformFile,\n transformFileSync,\n transformFileAsync,\n} from \"./transform-file\";\nexport {\n transformFromAst,\n transformFromAstSync,\n transformFromAstAsync,\n} from \"./transform-ast\";\nexport { parse, parseSync, parseAsync } from \"./parse\";\n\n/**\n * Recommended set of compilable extensions. Not used in @babel/core directly, but meant as\n * as an easy source for tooling making use of @babel/core.\n */\nexport const DEFAULT_EXTENSIONS = Object.freeze([\n \".js\",\n \".jsx\",\n \".es6\",\n \".es\",\n \".mjs\",\n \".cjs\",\n] as const);\n\n// For easier backward-compatibility, provide an API like the one we exposed in Babel 6.\n// TODO(Babel 8): Remove this.\nimport { loadOptionsSync } from \"./config\";\nexport class OptionManager {\n init(opts: {}) {\n return loadOptionsSync(opts);\n }\n}\n\n// TODO(Babel 8): Remove this.\nexport function Plugin(alias: string) {\n throw new Error(\n `The (${alias}) Babel 5 plugin is being run with an unsupported Babel version.`,\n );\n}\n\nimport Module from \"module\";\nimport * as thisFile from \"./index\";\nif (USE_ESM) {\n if (!IS_STANDALONE) {\n // Pass this module to the CJS proxy, so that it can be synchronously accessed.\n const cjsProxy = Module.createRequire(import.meta.url)(\"../cjs-proxy.cjs\");\n cjsProxy[\"__ initialize @babel/core cjs proxy __\"] = thisFile;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,qBAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,YAAA,GAAAH,OAAA;AAAsD,SAAAI,OAAA;EAAA,MAAAC,IAAA,GAAAL,OAAA;EAAAI,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAAC,MAAA,CAAAC,cAAA,KAAAC,OAAA;EAAAC,UAAA;EAAAC,GAAA,WAAAA,CAAA;IAAA,OAAAN,MAAA;EAAA;AAAA;AAMtD,SAAAO,QAAA;EAAA,MAAAN,IAAA,GAAAL,OAAA;EAAAW,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,UAAA;EAAA,MAAAP,IAAA,GAAAL,OAAA;EAAAY,SAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,UAAA;EAAA,MAAAR,IAAA,GAAAL,OAAA;EAAAa,SAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAS,OAAA,GAAAd,OAAA;AAwBA,IAAAe,UAAA,GAAAf,OAAA;AAMA,IAAAgB,cAAA,GAAAhB,OAAA;AAKA,IAAAiB,aAAA,GAAAjB,OAAA;AAKA,IAAAkB,MAAA,GAAAlB,OAAA;AAgCA,IAAAmB,QAAA,GAAAnB,OAAA;AAzFO,MAAMoB,OAAO,WAAuB;AAACZ,OAAA,CAAAY,OAAA,GAAAA,OAAA;AA+DrC,MAAMC,kBAAkB,GAAGf,MAAM,CAACgB,MAAM,CAAC,CAC9C,KAAK,EACL,MAAM,EACN,MAAM,EACN,KAAK,EACL,MAAM,EACN,MAAM,CACP,CAAU;AAACd,OAAA,CAAAa,kBAAA,GAAAA,kBAAA;AAKL,MAAME,aAAa,CAAC;EACzBC,IAAIA,CAACC,IAAQ,EAAE;IACb,OAAO,IAAAC,uBAAe,EAACD,IAAI,CAAC;EAC9B;AACF;AAACjB,OAAA,CAAAe,aAAA,GAAAA,aAAA;AAGM,SAASI,MAAMA,CAACC,KAAa,EAAE;EACpC,MAAM,IAAIC,KAAK,CACZ,QAAOD,KAAM,kEAAiE,CAChF;AACH;AAAC;AAAA,MAAApB,OAAA,CAAAsB,KAAA,GAAAtB,OAAA,CAAAuB,QAAA,GAAAvB,OAAA,CAAAwB,QAAA,GAAAxB,OAAA,CAAAyB,QAAA"} \ No newline at end of file +{"version":3,"names":["_file","require","_buildExternalHelpers","_files","_environment","_types","data","Object","defineProperty","exports","enumerable","get","_parser","_traverse","_template","_config","_transform","_transformFile","_transformAst","_parse","thisFile","version","DEFAULT_EXTENSIONS","freeze","OptionManager","init","opts","loadOptionsSync","Plugin","alias","Error","types","traverse","tokTypes","template"],"sources":["../src/index.ts"],"sourcesContent":["export const version = PACKAGE_JSON.version;\n\nexport { default as File } from \"./transformation/file/file\";\nexport type { default as PluginPass } from \"./transformation/plugin-pass\";\nexport { default as buildExternalHelpers } from \"./tools/build-external-helpers\";\nexport { resolvePlugin, resolvePreset } from \"./config/files\";\n\nexport { getEnv } from \"./config/helpers/environment\";\n\n// NOTE: Lazy re-exports aren't detected by the Node.js CJS-ESM interop.\n// These are handled by pluginInjectNodeReexportsHints in our babel.config.js\n// so that they can work well.\nexport * as types from \"@babel/types\";\nexport { tokTypes } from \"@babel/parser\";\nexport { default as traverse } from \"@babel/traverse\";\nexport { default as template } from \"@babel/template\";\n\nexport {\n createConfigItem,\n createConfigItemSync,\n createConfigItemAsync,\n} from \"./config\";\n\nexport {\n loadPartialConfig,\n loadPartialConfigSync,\n loadPartialConfigAsync,\n loadOptions,\n loadOptionsAsync,\n} from \"./config\";\nimport { loadOptionsSync } from \"./config\";\nexport { loadOptionsSync };\n\nexport type {\n CallerMetadata,\n InputOptions,\n PluginAPI,\n PluginObject,\n PresetAPI,\n PresetObject,\n} from \"./config\";\n\nexport {\n transform,\n transformSync,\n transformAsync,\n type FileResult,\n} from \"./transform\";\nexport {\n transformFile,\n transformFileSync,\n transformFileAsync,\n} from \"./transform-file\";\nexport {\n transformFromAst,\n transformFromAstSync,\n transformFromAstAsync,\n} from \"./transform-ast\";\nexport { parse, parseSync, parseAsync } from \"./parse\";\n\n/**\n * Recommended set of compilable extensions. Not used in @babel/core directly, but meant as\n * as an easy source for tooling making use of @babel/core.\n */\nexport const DEFAULT_EXTENSIONS = Object.freeze([\n \".js\",\n \".jsx\",\n \".es6\",\n \".es\",\n \".mjs\",\n \".cjs\",\n] as const);\n\nimport Module from \"module\";\nimport * as thisFile from \"./index\";\nif (USE_ESM) {\n if (!IS_STANDALONE) {\n // Pass this module to the CJS proxy, so that it can be synchronously accessed.\n const cjsProxy = Module.createRequire(import.meta.url)(\"../cjs-proxy.cjs\");\n cjsProxy[\"__ initialize @babel/core cjs proxy __\"] = thisFile;\n }\n}\n\nif (!process.env.BABEL_8_BREAKING) {\n // For easier backward-compatibility, provide an API like the one we exposed in Babel 6.\n if (!USE_ESM) {\n // eslint-disable-next-line no-restricted-globals\n exports.OptionManager = class OptionManager {\n init(opts: {}) {\n return loadOptionsSync(opts);\n }\n };\n\n // eslint-disable-next-line no-restricted-globals\n exports.Plugin = function Plugin(alias: string) {\n throw new Error(\n `The (${alias}) Babel 5 plugin is being run with an unsupported Babel version.`,\n );\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,qBAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,YAAA,GAAAH,OAAA;AAAsD,SAAAI,OAAA;EAAA,MAAAC,IAAA,GAAAL,OAAA;EAAAI,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAAC,MAAA,CAAAC,cAAA,KAAAC,OAAA;EAAAC,UAAA;EAAAC,GAAA,WAAAA,CAAA;IAAA,OAAAN,MAAA;EAAA;AAAA;AAMtD,SAAAO,QAAA;EAAA,MAAAN,IAAA,GAAAL,OAAA;EAAAW,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,UAAA;EAAA,MAAAP,IAAA,GAAAL,OAAA;EAAAY,SAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,UAAA;EAAA,MAAAR,IAAA,GAAAL,OAAA;EAAAa,SAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAS,OAAA,GAAAd,OAAA;AAyBA,IAAAe,UAAA,GAAAf,OAAA;AAMA,IAAAgB,cAAA,GAAAhB,OAAA;AAKA,IAAAiB,aAAA,GAAAjB,OAAA;AAKA,IAAAkB,MAAA,GAAAlB,OAAA;AAgBA,IAAAmB,QAAA,GAAAnB,OAAA;AA1EO,MAAMoB,OAAO,WAAuB;AAACZ,OAAA,CAAAY,OAAA,GAAAA,OAAA;AAgErC,MAAMC,kBAAkB,GAAGf,MAAM,CAACgB,MAAM,CAAC,CAC9C,KAAK,EACL,MAAM,EACN,MAAM,EACN,KAAK,EACL,MAAM,EACN,MAAM,CACE,CAAC;AAACd,OAAA,CAAAa,kBAAA,GAAAA,kBAAA;AAAA;AAYuB;EAEnB;IAEZb,OAAO,CAACe,aAAa,GAAG,MAAMA,aAAa,CAAC;MAC1CC,IAAIA,CAACC,IAAQ,EAAE;QACb,OAAO,IAAAC,uBAAe,EAACD,IAAI,CAAC;MAC9B;IACF,CAAC;IAGDjB,OAAO,CAACmB,MAAM,GAAG,SAASA,MAAMA,CAACC,KAAa,EAAE;MAC9C,MAAM,IAAIC,KAAK,CACZ,QAAOD,KAAM,kEAChB,CAAC;IACH,CAAC;EACH;AACF;AAAC,MAAApB,OAAA,CAAAsB,KAAA,GAAAtB,OAAA,CAAAuB,QAAA,GAAAvB,OAAA,CAAAwB,QAAA,GAAAxB,OAAA,CAAAyB,QAAA"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/parse.js.map b/node_modules/@babel/core/lib/parse.js.map index 9a79b15d5..3cd608f20 100644 --- a/node_modules/@babel/core/lib/parse.js.map +++ b/node_modules/@babel/core/lib/parse.js.map @@ -1 +1 @@ -{"version":3,"names":["_gensync","data","require","_config","_parser","_normalizeOpts","_rewriteStackTrace","parseRunner","gensync","parse","code","opts","config","loadConfig","parser","passes","normalizeOptions","callback","undefined","beginHiddenCallStack","sync","errback","exports","parseSync","args","parseAsync","async"],"sources":["../src/parse.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\n\nimport loadConfig from \"./config\";\nimport type { InputOptions } from \"./config\";\nimport parser from \"./parser\";\nimport type { ParseResult } from \"./parser\";\nimport normalizeOptions from \"./transformation/normalize-opts\";\nimport type { ValidatedOptions } from \"./config/validation/options\";\n\nimport { beginHiddenCallStack } from \"./errors/rewrite-stack-trace\";\n\ntype FileParseCallback = {\n (err: Error, ast: null): void;\n (err: null, ast: ParseResult | null): void;\n};\n\ntype Parse = {\n (code: string, callback: FileParseCallback): void;\n (\n code: string,\n opts: InputOptions | undefined | null,\n callback: FileParseCallback,\n ): void;\n (code: string, opts?: InputOptions | null): ParseResult | null;\n};\n\nconst parseRunner = gensync(function* parse(\n code: string,\n opts: InputOptions | undefined | null,\n): Handler {\n const config = yield* loadConfig(opts);\n\n if (config === null) {\n return null;\n }\n\n return yield* parser(config.passes, normalizeOptions(config), code);\n});\n\nexport const parse: Parse = function parse(\n code,\n opts?,\n callback?: FileParseCallback,\n) {\n if (typeof opts === \"function\") {\n callback = opts;\n opts = undefined as ValidatedOptions;\n }\n\n if (callback === undefined) {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'parse' function expects a callback. If you need to call it synchronously, please use 'parseSync'.\",\n );\n } else {\n // console.warn(\n // \"Starting from Babel 8.0.0, the 'parse' function will expect a callback. If you need to call it synchronously, please use 'parseSync'.\",\n // );\n return beginHiddenCallStack(parseRunner.sync)(code, opts);\n }\n }\n\n beginHiddenCallStack(parseRunner.errback)(code, opts, callback);\n};\n\nexport function parseSync(...args: Parameters) {\n return beginHiddenCallStack(parseRunner.sync)(...args);\n}\nexport function parseAsync(...args: Parameters) {\n return beginHiddenCallStack(parseRunner.async)(...args);\n}\n"],"mappings":";;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAE,OAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,cAAA,GAAAH,OAAA;AAGA,IAAAI,kBAAA,GAAAJ,OAAA;AAiBA,MAAMK,WAAW,GAAGC,UAAO,CAAC,UAAUC,KAAKA,CACzCC,IAAY,EACZC,IAAqC,EACR;EAC7B,MAAMC,MAAM,GAAG,OAAO,IAAAC,eAAU,EAACF,IAAI,CAAC;EAEtC,IAAIC,MAAM,KAAK,IAAI,EAAE;IACnB,OAAO,IAAI;EACb;EAEA,OAAO,OAAO,IAAAE,eAAM,EAACF,MAAM,CAACG,MAAM,EAAE,IAAAC,sBAAgB,EAACJ,MAAM,CAAC,EAAEF,IAAI,CAAC;AACrE,CAAC,CAAC;AAEK,MAAMD,KAAY,GAAG,SAASA,KAAKA,CACxCC,IAAI,EACJC,IAAK,EACLM,QAA4B,EAC5B;EACA,IAAI,OAAON,IAAI,KAAK,UAAU,EAAE;IAC9BM,QAAQ,GAAGN,IAAI;IACfA,IAAI,GAAGO,SAA6B;EACtC;EAEA,IAAID,QAAQ,KAAKC,SAAS,EAAE;IAKnB;MAIL,OAAO,IAAAC,uCAAoB,EAACZ,WAAW,CAACa,IAAI,CAAC,CAACV,IAAI,EAAEC,IAAI,CAAC;IAC3D;EACF;EAEA,IAAAQ,uCAAoB,EAACZ,WAAW,CAACc,OAAO,CAAC,CAACX,IAAI,EAAEC,IAAI,EAAEM,QAAQ,CAAC;AACjE,CAAC;AAACK,OAAA,CAAAb,KAAA,GAAAA,KAAA;AAEK,SAASc,SAASA,CAAC,GAAGC,IAAyC,EAAE;EACtE,OAAO,IAAAL,uCAAoB,EAACZ,WAAW,CAACa,IAAI,CAAC,CAAC,GAAGI,IAAI,CAAC;AACxD;AACO,SAASC,UAAUA,CAAC,GAAGD,IAA0C,EAAE;EACxE,OAAO,IAAAL,uCAAoB,EAACZ,WAAW,CAACmB,KAAK,CAAC,CAAC,GAAGF,IAAI,CAAC;AACzD;AAAC"} \ No newline at end of file +{"version":3,"names":["_gensync","data","require","_config","_parser","_normalizeOpts","_rewriteStackTrace","parseRunner","gensync","parse","code","opts","config","loadConfig","parser","passes","normalizeOptions","callback","undefined","beginHiddenCallStack","sync","errback","exports","parseSync","args","parseAsync","async"],"sources":["../src/parse.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\n\nimport loadConfig from \"./config\";\nimport type { InputOptions } from \"./config\";\nimport parser from \"./parser\";\nimport type { ParseResult } from \"./parser\";\nimport normalizeOptions from \"./transformation/normalize-opts\";\nimport type { ValidatedOptions } from \"./config/validation/options\";\n\nimport { beginHiddenCallStack } from \"./errors/rewrite-stack-trace\";\n\ntype FileParseCallback = {\n (err: Error, ast: null): void;\n (err: null, ast: ParseResult | null): void;\n};\n\ntype Parse = {\n (code: string, callback: FileParseCallback): void;\n (\n code: string,\n opts: InputOptions | undefined | null,\n callback: FileParseCallback,\n ): void;\n (code: string, opts?: InputOptions | null): ParseResult | null;\n};\n\nconst parseRunner = gensync(function* parse(\n code: string,\n opts: InputOptions | undefined | null,\n): Handler {\n const config = yield* loadConfig(opts);\n\n if (config === null) {\n return null;\n }\n\n return yield* parser(config.passes, normalizeOptions(config), code);\n});\n\nexport const parse: Parse = function parse(\n code,\n opts?,\n callback?: FileParseCallback,\n) {\n if (typeof opts === \"function\") {\n callback = opts;\n opts = undefined as ValidatedOptions;\n }\n\n if (callback === undefined) {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'parse' function expects a callback. If you need to call it synchronously, please use 'parseSync'.\",\n );\n } else {\n // console.warn(\n // \"Starting from Babel 8.0.0, the 'parse' function will expect a callback. If you need to call it synchronously, please use 'parseSync'.\",\n // );\n return beginHiddenCallStack(parseRunner.sync)(code, opts);\n }\n }\n\n beginHiddenCallStack(parseRunner.errback)(code, opts, callback);\n};\n\nexport function parseSync(...args: Parameters) {\n return beginHiddenCallStack(parseRunner.sync)(...args);\n}\nexport function parseAsync(...args: Parameters) {\n return beginHiddenCallStack(parseRunner.async)(...args);\n}\n"],"mappings":";;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAE,OAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,cAAA,GAAAH,OAAA;AAGA,IAAAI,kBAAA,GAAAJ,OAAA;AAiBA,MAAMK,WAAW,GAAGC,SAAMA,CAAC,CAAC,UAAUC,KAAKA,CACzCC,IAAY,EACZC,IAAqC,EACR;EAC7B,MAAMC,MAAM,GAAG,OAAO,IAAAC,eAAU,EAACF,IAAI,CAAC;EAEtC,IAAIC,MAAM,KAAK,IAAI,EAAE;IACnB,OAAO,IAAI;EACb;EAEA,OAAO,OAAO,IAAAE,eAAM,EAACF,MAAM,CAACG,MAAM,EAAE,IAAAC,sBAAgB,EAACJ,MAAM,CAAC,EAAEF,IAAI,CAAC;AACrE,CAAC,CAAC;AAEK,MAAMD,KAAY,GAAG,SAASA,KAAKA,CACxCC,IAAI,EACJC,IAAK,EACLM,QAA4B,EAC5B;EACA,IAAI,OAAON,IAAI,KAAK,UAAU,EAAE;IAC9BM,QAAQ,GAAGN,IAAI;IACfA,IAAI,GAAGO,SAA6B;EACtC;EAEA,IAAID,QAAQ,KAAKC,SAAS,EAAE;IAKnB;MAIL,OAAO,IAAAC,uCAAoB,EAACZ,WAAW,CAACa,IAAI,CAAC,CAACV,IAAI,EAAEC,IAAI,CAAC;IAC3D;EACF;EAEA,IAAAQ,uCAAoB,EAACZ,WAAW,CAACc,OAAO,CAAC,CAACX,IAAI,EAAEC,IAAI,EAAEM,QAAQ,CAAC;AACjE,CAAC;AAACK,OAAA,CAAAb,KAAA,GAAAA,KAAA;AAEK,SAASc,SAASA,CAAC,GAAGC,IAAyC,EAAE;EACtE,OAAO,IAAAL,uCAAoB,EAACZ,WAAW,CAACa,IAAI,CAAC,CAAC,GAAGI,IAAI,CAAC;AACxD;AACO,SAASC,UAAUA,CAAC,GAAGD,IAA0C,EAAE;EACxE,OAAO,IAAAL,uCAAoB,EAACZ,WAAW,CAACmB,KAAK,CAAC,CAAC,GAAGF,IAAI,CAAC;AACzD;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/parser/index.js.map b/node_modules/@babel/core/lib/parser/index.js.map index b97ecca08..c43869851 100644 --- a/node_modules/@babel/core/lib/parser/index.js.map +++ b/node_modules/@babel/core/lib/parser/index.js.map @@ -1 +1 @@ -{"version":3,"names":["_parser","data","require","_codeFrame","_missingPluginHelper","parser","pluginPasses","parserOpts","highlightCode","filename","code","results","plugins","plugin","parserOverride","ast","parse","undefined","push","length","then","Error","err","message","loc","missingPlugin","codeFrame","codeFrameColumns","start","line","column","generateMissingPluginMessage"],"sources":["../../src/parser/index.ts"],"sourcesContent":["import type { Handler } from \"gensync\";\nimport { parse } from \"@babel/parser\";\nimport { codeFrameColumns } from \"@babel/code-frame\";\nimport generateMissingPluginMessage from \"./util/missing-plugin-helper\";\nimport type { PluginPasses } from \"../config\";\n\nexport type ParseResult = ReturnType;\n\nexport default function* parser(\n pluginPasses: PluginPasses,\n { parserOpts, highlightCode = true, filename = \"unknown\" }: any,\n code: string,\n): Handler {\n try {\n const results = [];\n for (const plugins of pluginPasses) {\n for (const plugin of plugins) {\n const { parserOverride } = plugin;\n if (parserOverride) {\n const ast = parserOverride(code, parserOpts, parse);\n\n if (ast !== undefined) results.push(ast);\n }\n }\n }\n\n if (results.length === 0) {\n return parse(code, parserOpts);\n } else if (results.length === 1) {\n // @ts-expect-error - If we want to allow async parsers\n yield* [];\n if (typeof results[0].then === \"function\") {\n throw new Error(\n `You appear to be using an async parser plugin, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, you may need to upgrade ` +\n `your @babel/core version.`,\n );\n }\n return results[0];\n }\n // TODO: Add an error code\n throw new Error(\"More than one plugin attempted to override parsing.\");\n } catch (err) {\n if (err.code === \"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED\") {\n err.message +=\n \"\\nConsider renaming the file to '.mjs', or setting sourceType:module \" +\n \"or sourceType:unambiguous in your Babel config for this file.\";\n // err.code will be changed to BABEL_PARSE_ERROR later.\n }\n\n const { loc, missingPlugin } = err;\n if (loc) {\n const codeFrame = codeFrameColumns(\n code,\n {\n start: {\n line: loc.line,\n column: loc.column + 1,\n },\n },\n {\n highlightCode,\n },\n );\n if (missingPlugin) {\n err.message =\n `${filename}: ` +\n generateMissingPluginMessage(missingPlugin[0], loc, codeFrame);\n } else {\n err.message = `${filename}: ${err.message}\\n\\n` + codeFrame;\n }\n err.code = \"BABEL_PARSE_ERROR\";\n }\n throw err;\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,WAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,UAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,IAAAG,oBAAA,GAAAF,OAAA;AAKe,UAAUG,MAAMA,CAC7BC,YAA0B,EAC1B;EAAEC,UAAU;EAAEC,aAAa,GAAG,IAAI;EAAEC,QAAQ,GAAG;AAAe,CAAC,EAC/DC,IAAY,EACU;EACtB,IAAI;IACF,MAAMC,OAAO,GAAG,EAAE;IAClB,KAAK,MAAMC,OAAO,IAAIN,YAAY,EAAE;MAClC,KAAK,MAAMO,MAAM,IAAID,OAAO,EAAE;QAC5B,MAAM;UAAEE;QAAe,CAAC,GAAGD,MAAM;QACjC,IAAIC,cAAc,EAAE;UAClB,MAAMC,GAAG,GAAGD,cAAc,CAACJ,IAAI,EAAEH,UAAU,EAAES,eAAK,CAAC;UAEnD,IAAID,GAAG,KAAKE,SAAS,EAAEN,OAAO,CAACO,IAAI,CAACH,GAAG,CAAC;QAC1C;MACF;IACF;IAEA,IAAIJ,OAAO,CAACQ,MAAM,KAAK,CAAC,EAAE;MACxB,OAAO,IAAAH,eAAK,EAACN,IAAI,EAAEH,UAAU,CAAC;IAChC,CAAC,MAAM,IAAII,OAAO,CAACQ,MAAM,KAAK,CAAC,EAAE;MAE/B,OAAO,EAAE;MACT,IAAI,OAAOR,OAAO,CAAC,CAAC,CAAC,CAACS,IAAI,KAAK,UAAU,EAAE;QACzC,MAAM,IAAIC,KAAK,CACZ,iDAAgD,GAC9C,wDAAuD,GACvD,8DAA6D,GAC7D,2BAA0B,CAC9B;MACH;MACA,OAAOV,OAAO,CAAC,CAAC,CAAC;IACnB;IAEA,MAAM,IAAIU,KAAK,CAAC,qDAAqD,CAAC;EACxE,CAAC,CAAC,OAAOC,GAAG,EAAE;IACZ,IAAIA,GAAG,CAACZ,IAAI,KAAK,yCAAyC,EAAE;MAC1DY,GAAG,CAACC,OAAO,IACT,uEAAuE,GACvE,+DAA+D;IAEnE;IAEA,MAAM;MAAEC,GAAG;MAAEC;IAAc,CAAC,GAAGH,GAAG;IAClC,IAAIE,GAAG,EAAE;MACP,MAAME,SAAS,GAAG,IAAAC,6BAAgB,EAChCjB,IAAI,EACJ;QACEkB,KAAK,EAAE;UACLC,IAAI,EAAEL,GAAG,CAACK,IAAI;UACdC,MAAM,EAAEN,GAAG,CAACM,MAAM,GAAG;QACvB;MACF,CAAC,EACD;QACEtB;MACF,CAAC,CACF;MACD,IAAIiB,aAAa,EAAE;QACjBH,GAAG,CAACC,OAAO,GACR,GAAEd,QAAS,IAAG,GACf,IAAAsB,4BAA4B,EAACN,aAAa,CAAC,CAAC,CAAC,EAAED,GAAG,EAAEE,SAAS,CAAC;MAClE,CAAC,MAAM;QACLJ,GAAG,CAACC,OAAO,GAAI,GAAEd,QAAS,KAAIa,GAAG,CAACC,OAAQ,MAAK,GAAGG,SAAS;MAC7D;MACAJ,GAAG,CAACZ,IAAI,GAAG,mBAAmB;IAChC;IACA,MAAMY,GAAG;EACX;AACF;AAAC"} \ No newline at end of file +{"version":3,"names":["_parser","data","require","_codeFrame","_missingPluginHelper","parser","pluginPasses","parserOpts","highlightCode","filename","code","results","plugins","plugin","parserOverride","ast","parse","undefined","push","length","then","Error","err","message","loc","missingPlugin","codeFrame","codeFrameColumns","start","line","column","generateMissingPluginMessage"],"sources":["../../src/parser/index.ts"],"sourcesContent":["import type { Handler } from \"gensync\";\nimport { parse } from \"@babel/parser\";\nimport { codeFrameColumns } from \"@babel/code-frame\";\nimport generateMissingPluginMessage from \"./util/missing-plugin-helper\";\nimport type { PluginPasses } from \"../config\";\n\nexport type ParseResult = ReturnType;\n\nexport default function* parser(\n pluginPasses: PluginPasses,\n { parserOpts, highlightCode = true, filename = \"unknown\" }: any,\n code: string,\n): Handler {\n try {\n const results = [];\n for (const plugins of pluginPasses) {\n for (const plugin of plugins) {\n const { parserOverride } = plugin;\n if (parserOverride) {\n const ast = parserOverride(code, parserOpts, parse);\n\n if (ast !== undefined) results.push(ast);\n }\n }\n }\n\n if (results.length === 0) {\n return parse(code, parserOpts);\n } else if (results.length === 1) {\n // @ts-expect-error - If we want to allow async parsers\n yield* [];\n if (typeof results[0].then === \"function\") {\n throw new Error(\n `You appear to be using an async parser plugin, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, you may need to upgrade ` +\n `your @babel/core version.`,\n );\n }\n return results[0];\n }\n // TODO: Add an error code\n throw new Error(\"More than one plugin attempted to override parsing.\");\n } catch (err) {\n if (err.code === \"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED\") {\n err.message +=\n \"\\nConsider renaming the file to '.mjs', or setting sourceType:module \" +\n \"or sourceType:unambiguous in your Babel config for this file.\";\n // err.code will be changed to BABEL_PARSE_ERROR later.\n }\n\n const { loc, missingPlugin } = err;\n if (loc) {\n const codeFrame = codeFrameColumns(\n code,\n {\n start: {\n line: loc.line,\n column: loc.column + 1,\n },\n },\n {\n highlightCode,\n },\n );\n if (missingPlugin) {\n err.message =\n `${filename}: ` +\n generateMissingPluginMessage(missingPlugin[0], loc, codeFrame);\n } else {\n err.message = `${filename}: ${err.message}\\n\\n` + codeFrame;\n }\n err.code = \"BABEL_PARSE_ERROR\";\n }\n throw err;\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,WAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,UAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,IAAAG,oBAAA,GAAAF,OAAA;AAKe,UAAUG,MAAMA,CAC7BC,YAA0B,EAC1B;EAAEC,UAAU;EAAEC,aAAa,GAAG,IAAI;EAAEC,QAAQ,GAAG;AAAe,CAAC,EAC/DC,IAAY,EACU;EACtB,IAAI;IACF,MAAMC,OAAO,GAAG,EAAE;IAClB,KAAK,MAAMC,OAAO,IAAIN,YAAY,EAAE;MAClC,KAAK,MAAMO,MAAM,IAAID,OAAO,EAAE;QAC5B,MAAM;UAAEE;QAAe,CAAC,GAAGD,MAAM;QACjC,IAAIC,cAAc,EAAE;UAClB,MAAMC,GAAG,GAAGD,cAAc,CAACJ,IAAI,EAAEH,UAAU,EAAES,eAAK,CAAC;UAEnD,IAAID,GAAG,KAAKE,SAAS,EAAEN,OAAO,CAACO,IAAI,CAACH,GAAG,CAAC;QAC1C;MACF;IACF;IAEA,IAAIJ,OAAO,CAACQ,MAAM,KAAK,CAAC,EAAE;MACxB,OAAO,IAAAH,eAAK,EAACN,IAAI,EAAEH,UAAU,CAAC;IAChC,CAAC,MAAM,IAAII,OAAO,CAACQ,MAAM,KAAK,CAAC,EAAE;MAE/B,OAAO,EAAE;MACT,IAAI,OAAOR,OAAO,CAAC,CAAC,CAAC,CAACS,IAAI,KAAK,UAAU,EAAE;QACzC,MAAM,IAAIC,KAAK,CACZ,iDAAgD,GAC9C,wDAAuD,GACvD,8DAA6D,GAC7D,2BACL,CAAC;MACH;MACA,OAAOV,OAAO,CAAC,CAAC,CAAC;IACnB;IAEA,MAAM,IAAIU,KAAK,CAAC,qDAAqD,CAAC;EACxE,CAAC,CAAC,OAAOC,GAAG,EAAE;IACZ,IAAIA,GAAG,CAACZ,IAAI,KAAK,yCAAyC,EAAE;MAC1DY,GAAG,CAACC,OAAO,IACT,uEAAuE,GACvE,+DAA+D;IAEnE;IAEA,MAAM;MAAEC,GAAG;MAAEC;IAAc,CAAC,GAAGH,GAAG;IAClC,IAAIE,GAAG,EAAE;MACP,MAAME,SAAS,GAAG,IAAAC,6BAAgB,EAChCjB,IAAI,EACJ;QACEkB,KAAK,EAAE;UACLC,IAAI,EAAEL,GAAG,CAACK,IAAI;UACdC,MAAM,EAAEN,GAAG,CAACM,MAAM,GAAG;QACvB;MACF,CAAC,EACD;QACEtB;MACF,CACF,CAAC;MACD,IAAIiB,aAAa,EAAE;QACjBH,GAAG,CAACC,OAAO,GACR,GAAEd,QAAS,IAAG,GACf,IAAAsB,4BAA4B,EAACN,aAAa,CAAC,CAAC,CAAC,EAAED,GAAG,EAAEE,SAAS,CAAC;MAClE,CAAC,MAAM;QACLJ,GAAG,CAACC,OAAO,GAAI,GAAEd,QAAS,KAAIa,GAAG,CAACC,OAAQ,MAAK,GAAGG,SAAS;MAC7D;MACAJ,GAAG,CAACZ,IAAI,GAAG,mBAAmB;IAChC;IACA,MAAMY,GAAG;EACX;AACF;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js b/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js index fbfb12e5e..1c2f4ca3d 100644 --- a/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js +++ b/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js @@ -87,10 +87,10 @@ const pluginNameMap = { url: "https://github.com/babel/babel/tree/main/packages/babel-preset-react" } }, - importAssertions: { + importAttributes: { syntax: { - name: "@babel/plugin-syntax-import-assertions", - url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-assertions" + name: "@babel/plugin-syntax-import-attributes", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-attributes" } }, pipelineOperator: { @@ -109,16 +109,6 @@ const pluginNameMap = { url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-record-and-tuple" } }, - regexpUnicodeSets: { - syntax: { - name: "@babel/plugin-syntax-unicode-sets-regex", - url: "https://github.com/babel/babel/blob/main/packages/babel-plugin-syntax-unicode-sets-regex/README.md" - }, - transform: { - name: "@babel/plugin-proposal-unicode-sets-regex", - url: "https://github.com/babel/babel/blob/main/packages/babel-plugin-proposalunicode-sets-regex/README.md" - } - }, throwExpressions: { syntax: { name: "@babel/plugin-syntax-throw-expressions", @@ -148,8 +138,8 @@ const pluginNameMap = { url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-generators" }, transform: { - name: "@babel/plugin-proposal-async-generator-functions", - url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-async-generator-functions" + name: "@babel/plugin-transform-async-generator-functions", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-async-generator-functions" } }, classProperties: { @@ -158,8 +148,8 @@ const pluginNameMap = { url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties" }, transform: { - name: "@babel/plugin-proposal-class-properties", - url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-class-properties" + name: "@babel/plugin-transform-class-properties", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-class-properties" } }, classPrivateProperties: { @@ -168,8 +158,8 @@ const pluginNameMap = { url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties" }, transform: { - name: "@babel/plugin-proposal-class-properties", - url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-class-properties" + name: "@babel/plugin-transform-class-properties", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-class-properties" } }, classPrivateMethods: { @@ -178,8 +168,8 @@ const pluginNameMap = { url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties" }, transform: { - name: "@babel/plugin-proposal-private-methods", - url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-private-methods" + name: "@babel/plugin-transform-private-methods", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-private-methods" } }, classStaticBlock: { @@ -188,8 +178,8 @@ const pluginNameMap = { url: "https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-class-static-block" }, transform: { - name: "@babel/plugin-proposal-class-static-block", - url: "https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-class-static-block" + name: "@babel/plugin-transform-class-static-block", + url: "https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-class-static-block" } }, dynamicImport: { @@ -204,8 +194,14 @@ const pluginNameMap = { url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-namespace-from" }, transform: { - name: "@babel/plugin-proposal-export-namespace-from", - url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-export-namespace-from" + name: "@babel/plugin-transform-export-namespace-from", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-export-namespace-from" + } + }, + importAssertions: { + syntax: { + name: "@babel/plugin-syntax-import-assertions", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-assertions" } }, importMeta: { @@ -220,8 +216,8 @@ const pluginNameMap = { url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-logical-assignment-operators" }, transform: { - name: "@babel/plugin-proposal-logical-assignment-operators", - url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-logical-assignment-operators" + name: "@babel/plugin-transform-logical-assignment-operators", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-logical-assignment-operators" } }, moduleStringNames: { @@ -236,8 +232,8 @@ const pluginNameMap = { url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-numeric-separator" }, transform: { - name: "@babel/plugin-proposal-numeric-separator", - url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-numeric-separator" + name: "@babel/plugin-transform-numeric-separator", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-numeric-separator" } }, nullishCoalescingOperator: { @@ -246,7 +242,7 @@ const pluginNameMap = { url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-nullish-coalescing-operator" }, transform: { - name: "@babel/plugin-proposal-nullish-coalescing-operator", + name: "@babel/plugin-transform-nullish-coalescing-operator", url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-nullish-coalescing-opearator" } }, @@ -256,8 +252,8 @@ const pluginNameMap = { url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-object-rest-spread" }, transform: { - name: "@babel/plugin-proposal-object-rest-spread", - url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-object-rest-spread" + name: "@babel/plugin-transform-object-rest-spread", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-object-rest-spread" } }, optionalCatchBinding: { @@ -266,8 +262,8 @@ const pluginNameMap = { url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-catch-binding" }, transform: { - name: "@babel/plugin-proposal-optional-catch-binding", - url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-optional-catch-binding" + name: "@babel/plugin-transform-optional-catch-binding", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-optional-catch-binding" } }, optionalChaining: { @@ -276,8 +272,8 @@ const pluginNameMap = { url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-chaining" }, transform: { - name: "@babel/plugin-proposal-optional-chaining", - url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-optional-chaining" + name: "@babel/plugin-transform-optional-chaining", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-optional-chaining" } }, privateIn: { @@ -286,8 +282,18 @@ const pluginNameMap = { url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-private-property-in-object" }, transform: { - name: "@babel/plugin-proposal-private-property-in-object", - url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-private-property-in-object" + name: "@babel/plugin-transform-private-property-in-object", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-private-property-in-object" + } + }, + regexpUnicodeSets: { + syntax: { + name: "@babel/plugin-syntax-unicode-sets-regex", + url: "https://github.com/babel/babel/blob/main/packages/babel-plugin-syntax-unicode-sets-regex/README.md" + }, + transform: { + name: "@babel/plugin-transform-unicode-sets-regex", + url: "https://github.com/babel/babel/blob/main/packages/babel-plugin-proposalunicode-sets-regex/README.md" } } }); diff --git a/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js.map b/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js.map index 99300d4a0..9e735162f 100644 --- a/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js.map +++ b/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js.map @@ -1 +1 @@ -{"version":3,"names":["pluginNameMap","asyncDoExpressions","syntax","name","url","decimal","decorators","transform","doExpressions","exportDefaultFrom","flow","functionBind","functionSent","jsx","importAssertions","pipelineOperator","recordAndTuple","regexpUnicodeSets","throwExpressions","typescript","Object","assign","asyncGenerators","classProperties","classPrivateProperties","classPrivateMethods","classStaticBlock","dynamicImport","exportNamespaceFrom","importMeta","logicalAssignment","moduleStringNames","numericSeparator","nullishCoalescingOperator","objectRestSpread","optionalCatchBinding","optionalChaining","privateIn","getNameURLCombination","generateMissingPluginMessage","missingPluginName","loc","codeFrame","helpMessage","line","column","pluginInfo","syntaxPlugin","transformPlugin","syntaxPluginInfo","transformPluginInfo","sectionType","startsWith"],"sources":["../../../src/parser/util/missing-plugin-helper.ts"],"sourcesContent":["const pluginNameMap: Record<\n string,\n Partial>>\n> = {\n asyncDoExpressions: {\n syntax: {\n name: \"@babel/plugin-syntax-async-do-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-do-expressions\",\n },\n },\n decimal: {\n syntax: {\n name: \"@babel/plugin-syntax-decimal\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decimal\",\n },\n },\n decorators: {\n syntax: {\n name: \"@babel/plugin-syntax-decorators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decorators\",\n },\n transform: {\n name: \"@babel/plugin-proposal-decorators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-decorators\",\n },\n },\n doExpressions: {\n syntax: {\n name: \"@babel/plugin-syntax-do-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-do-expressions\",\n },\n transform: {\n name: \"@babel/plugin-proposal-do-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-do-expressions\",\n },\n },\n exportDefaultFrom: {\n syntax: {\n name: \"@babel/plugin-syntax-export-default-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-default-from\",\n },\n transform: {\n name: \"@babel/plugin-proposal-export-default-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-export-default-from\",\n },\n },\n flow: {\n syntax: {\n name: \"@babel/plugin-syntax-flow\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-flow\",\n },\n transform: {\n name: \"@babel/preset-flow\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-preset-flow\",\n },\n },\n functionBind: {\n syntax: {\n name: \"@babel/plugin-syntax-function-bind\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-bind\",\n },\n transform: {\n name: \"@babel/plugin-proposal-function-bind\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-bind\",\n },\n },\n functionSent: {\n syntax: {\n name: \"@babel/plugin-syntax-function-sent\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-sent\",\n },\n transform: {\n name: \"@babel/plugin-proposal-function-sent\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-sent\",\n },\n },\n jsx: {\n syntax: {\n name: \"@babel/plugin-syntax-jsx\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-jsx\",\n },\n transform: {\n name: \"@babel/preset-react\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-preset-react\",\n },\n },\n importAssertions: {\n syntax: {\n name: \"@babel/plugin-syntax-import-assertions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-assertions\",\n },\n },\n pipelineOperator: {\n syntax: {\n name: \"@babel/plugin-syntax-pipeline-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-pipeline-operator\",\n },\n transform: {\n name: \"@babel/plugin-proposal-pipeline-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-pipeline-operator\",\n },\n },\n recordAndTuple: {\n syntax: {\n name: \"@babel/plugin-syntax-record-and-tuple\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-record-and-tuple\",\n },\n },\n regexpUnicodeSets: {\n syntax: {\n name: \"@babel/plugin-syntax-unicode-sets-regex\",\n url: \"https://github.com/babel/babel/blob/main/packages/babel-plugin-syntax-unicode-sets-regex/README.md\",\n },\n transform: {\n name: \"@babel/plugin-proposal-unicode-sets-regex\",\n url: \"https://github.com/babel/babel/blob/main/packages/babel-plugin-proposalunicode-sets-regex/README.md\",\n },\n },\n throwExpressions: {\n syntax: {\n name: \"@babel/plugin-syntax-throw-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-throw-expressions\",\n },\n transform: {\n name: \"@babel/plugin-proposal-throw-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-throw-expressions\",\n },\n },\n typescript: {\n syntax: {\n name: \"@babel/plugin-syntax-typescript\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-typescript\",\n },\n transform: {\n name: \"@babel/preset-typescript\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-preset-typescript\",\n },\n },\n};\n\nif (!process.env.BABEL_8_BREAKING) {\n // TODO: This plugins are now supported by default by @babel/parser.\n Object.assign(pluginNameMap, {\n asyncGenerators: {\n syntax: {\n name: \"@babel/plugin-syntax-async-generators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-generators\",\n },\n transform: {\n name: \"@babel/plugin-proposal-async-generator-functions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-async-generator-functions\",\n },\n },\n classProperties: {\n syntax: {\n name: \"@babel/plugin-syntax-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties\",\n },\n transform: {\n name: \"@babel/plugin-proposal-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-class-properties\",\n },\n },\n classPrivateProperties: {\n syntax: {\n name: \"@babel/plugin-syntax-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties\",\n },\n transform: {\n name: \"@babel/plugin-proposal-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-class-properties\",\n },\n },\n classPrivateMethods: {\n syntax: {\n name: \"@babel/plugin-syntax-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties\",\n },\n transform: {\n name: \"@babel/plugin-proposal-private-methods\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-private-methods\",\n },\n },\n classStaticBlock: {\n syntax: {\n name: \"@babel/plugin-syntax-class-static-block\",\n url: \"https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-class-static-block\",\n },\n transform: {\n name: \"@babel/plugin-proposal-class-static-block\",\n url: \"https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-class-static-block\",\n },\n },\n dynamicImport: {\n syntax: {\n name: \"@babel/plugin-syntax-dynamic-import\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-dynamic-import\",\n },\n },\n exportNamespaceFrom: {\n syntax: {\n name: \"@babel/plugin-syntax-export-namespace-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-namespace-from\",\n },\n transform: {\n name: \"@babel/plugin-proposal-export-namespace-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-export-namespace-from\",\n },\n },\n importMeta: {\n syntax: {\n name: \"@babel/plugin-syntax-import-meta\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-meta\",\n },\n },\n logicalAssignment: {\n syntax: {\n name: \"@babel/plugin-syntax-logical-assignment-operators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-logical-assignment-operators\",\n },\n transform: {\n name: \"@babel/plugin-proposal-logical-assignment-operators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-logical-assignment-operators\",\n },\n },\n moduleStringNames: {\n syntax: {\n name: \"@babel/plugin-syntax-module-string-names\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-module-string-names\",\n },\n },\n numericSeparator: {\n syntax: {\n name: \"@babel/plugin-syntax-numeric-separator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-numeric-separator\",\n },\n transform: {\n name: \"@babel/plugin-proposal-numeric-separator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-numeric-separator\",\n },\n },\n nullishCoalescingOperator: {\n syntax: {\n name: \"@babel/plugin-syntax-nullish-coalescing-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-nullish-coalescing-operator\",\n },\n transform: {\n name: \"@babel/plugin-proposal-nullish-coalescing-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-nullish-coalescing-opearator\",\n },\n },\n objectRestSpread: {\n syntax: {\n name: \"@babel/plugin-syntax-object-rest-spread\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-object-rest-spread\",\n },\n transform: {\n name: \"@babel/plugin-proposal-object-rest-spread\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-object-rest-spread\",\n },\n },\n optionalCatchBinding: {\n syntax: {\n name: \"@babel/plugin-syntax-optional-catch-binding\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-catch-binding\",\n },\n transform: {\n name: \"@babel/plugin-proposal-optional-catch-binding\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-optional-catch-binding\",\n },\n },\n optionalChaining: {\n syntax: {\n name: \"@babel/plugin-syntax-optional-chaining\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-chaining\",\n },\n transform: {\n name: \"@babel/plugin-proposal-optional-chaining\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-optional-chaining\",\n },\n },\n privateIn: {\n syntax: {\n name: \"@babel/plugin-syntax-private-property-in-object\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-private-property-in-object\",\n },\n transform: {\n name: \"@babel/plugin-proposal-private-property-in-object\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-private-property-in-object\",\n },\n },\n });\n}\n\nconst getNameURLCombination = ({ name, url }: { name: string; url: string }) =>\n `${name} (${url})`;\n\n/*\nReturns a string of the format:\nSupport for the experimental syntax [@babel/parser plugin name] isn't currently enabled ([loc]):\n\n[code frame]\n\nAdd [npm package name] ([url]) to the 'plugins' section of your Babel config\nto enable [parsing|transformation].\n*/\nexport default function generateMissingPluginMessage(\n missingPluginName: string,\n loc: {\n line: number;\n column: number;\n },\n codeFrame: string,\n): string {\n let helpMessage =\n `Support for the experimental syntax '${missingPluginName}' isn't currently enabled ` +\n `(${loc.line}:${loc.column + 1}):\\n\\n` +\n codeFrame;\n const pluginInfo = pluginNameMap[missingPluginName];\n if (pluginInfo) {\n const { syntax: syntaxPlugin, transform: transformPlugin } = pluginInfo;\n if (syntaxPlugin) {\n const syntaxPluginInfo = getNameURLCombination(syntaxPlugin);\n if (transformPlugin) {\n const transformPluginInfo = getNameURLCombination(transformPlugin);\n const sectionType = transformPlugin.name.startsWith(\"@babel/plugin\")\n ? \"plugins\"\n : \"presets\";\n helpMessage += `\\n\\nAdd ${transformPluginInfo} to the '${sectionType}' section of your Babel config to enable transformation.\nIf you want to leave it as-is, add ${syntaxPluginInfo} to the 'plugins' section to enable parsing.`;\n } else {\n helpMessage +=\n `\\n\\nAdd ${syntaxPluginInfo} to the 'plugins' section of your Babel config ` +\n `to enable parsing.`;\n }\n }\n }\n return helpMessage;\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["pluginNameMap","asyncDoExpressions","syntax","name","url","decimal","decorators","transform","doExpressions","exportDefaultFrom","flow","functionBind","functionSent","jsx","importAttributes","pipelineOperator","recordAndTuple","throwExpressions","typescript","Object","assign","asyncGenerators","classProperties","classPrivateProperties","classPrivateMethods","classStaticBlock","dynamicImport","exportNamespaceFrom","importAssertions","importMeta","logicalAssignment","moduleStringNames","numericSeparator","nullishCoalescingOperator","objectRestSpread","optionalCatchBinding","optionalChaining","privateIn","regexpUnicodeSets","getNameURLCombination","generateMissingPluginMessage","missingPluginName","loc","codeFrame","helpMessage","line","column","pluginInfo","syntaxPlugin","transformPlugin","syntaxPluginInfo","transformPluginInfo","sectionType","startsWith"],"sources":["../../../src/parser/util/missing-plugin-helper.ts"],"sourcesContent":["const pluginNameMap: Record<\n string,\n Partial>>\n> = {\n asyncDoExpressions: {\n syntax: {\n name: \"@babel/plugin-syntax-async-do-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-do-expressions\",\n },\n },\n decimal: {\n syntax: {\n name: \"@babel/plugin-syntax-decimal\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decimal\",\n },\n },\n decorators: {\n syntax: {\n name: \"@babel/plugin-syntax-decorators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decorators\",\n },\n transform: {\n name: \"@babel/plugin-proposal-decorators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-decorators\",\n },\n },\n doExpressions: {\n syntax: {\n name: \"@babel/plugin-syntax-do-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-do-expressions\",\n },\n transform: {\n name: \"@babel/plugin-proposal-do-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-do-expressions\",\n },\n },\n exportDefaultFrom: {\n syntax: {\n name: \"@babel/plugin-syntax-export-default-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-default-from\",\n },\n transform: {\n name: \"@babel/plugin-proposal-export-default-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-export-default-from\",\n },\n },\n flow: {\n syntax: {\n name: \"@babel/plugin-syntax-flow\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-flow\",\n },\n transform: {\n name: \"@babel/preset-flow\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-preset-flow\",\n },\n },\n functionBind: {\n syntax: {\n name: \"@babel/plugin-syntax-function-bind\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-bind\",\n },\n transform: {\n name: \"@babel/plugin-proposal-function-bind\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-bind\",\n },\n },\n functionSent: {\n syntax: {\n name: \"@babel/plugin-syntax-function-sent\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-sent\",\n },\n transform: {\n name: \"@babel/plugin-proposal-function-sent\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-sent\",\n },\n },\n jsx: {\n syntax: {\n name: \"@babel/plugin-syntax-jsx\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-jsx\",\n },\n transform: {\n name: \"@babel/preset-react\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-preset-react\",\n },\n },\n importAttributes: {\n syntax: {\n name: \"@babel/plugin-syntax-import-attributes\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-attributes\",\n },\n },\n pipelineOperator: {\n syntax: {\n name: \"@babel/plugin-syntax-pipeline-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-pipeline-operator\",\n },\n transform: {\n name: \"@babel/plugin-proposal-pipeline-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-pipeline-operator\",\n },\n },\n recordAndTuple: {\n syntax: {\n name: \"@babel/plugin-syntax-record-and-tuple\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-record-and-tuple\",\n },\n },\n throwExpressions: {\n syntax: {\n name: \"@babel/plugin-syntax-throw-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-throw-expressions\",\n },\n transform: {\n name: \"@babel/plugin-proposal-throw-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-throw-expressions\",\n },\n },\n typescript: {\n syntax: {\n name: \"@babel/plugin-syntax-typescript\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-typescript\",\n },\n transform: {\n name: \"@babel/preset-typescript\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-preset-typescript\",\n },\n },\n};\n\nif (!process.env.BABEL_8_BREAKING) {\n // TODO: This plugins are now supported by default by @babel/parser.\n Object.assign(pluginNameMap, {\n asyncGenerators: {\n syntax: {\n name: \"@babel/plugin-syntax-async-generators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-generators\",\n },\n transform: {\n name: \"@babel/plugin-transform-async-generator-functions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-async-generator-functions\",\n },\n },\n classProperties: {\n syntax: {\n name: \"@babel/plugin-syntax-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties\",\n },\n transform: {\n name: \"@babel/plugin-transform-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-class-properties\",\n },\n },\n classPrivateProperties: {\n syntax: {\n name: \"@babel/plugin-syntax-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties\",\n },\n transform: {\n name: \"@babel/plugin-transform-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-class-properties\",\n },\n },\n classPrivateMethods: {\n syntax: {\n name: \"@babel/plugin-syntax-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties\",\n },\n transform: {\n name: \"@babel/plugin-transform-private-methods\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-private-methods\",\n },\n },\n classStaticBlock: {\n syntax: {\n name: \"@babel/plugin-syntax-class-static-block\",\n url: \"https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-class-static-block\",\n },\n transform: {\n name: \"@babel/plugin-transform-class-static-block\",\n url: \"https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-class-static-block\",\n },\n },\n dynamicImport: {\n syntax: {\n name: \"@babel/plugin-syntax-dynamic-import\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-dynamic-import\",\n },\n },\n exportNamespaceFrom: {\n syntax: {\n name: \"@babel/plugin-syntax-export-namespace-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-namespace-from\",\n },\n transform: {\n name: \"@babel/plugin-transform-export-namespace-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-export-namespace-from\",\n },\n },\n // Will be removed\n importAssertions: {\n syntax: {\n name: \"@babel/plugin-syntax-import-assertions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-assertions\",\n },\n },\n importMeta: {\n syntax: {\n name: \"@babel/plugin-syntax-import-meta\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-meta\",\n },\n },\n logicalAssignment: {\n syntax: {\n name: \"@babel/plugin-syntax-logical-assignment-operators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-logical-assignment-operators\",\n },\n transform: {\n name: \"@babel/plugin-transform-logical-assignment-operators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-logical-assignment-operators\",\n },\n },\n moduleStringNames: {\n syntax: {\n name: \"@babel/plugin-syntax-module-string-names\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-module-string-names\",\n },\n },\n numericSeparator: {\n syntax: {\n name: \"@babel/plugin-syntax-numeric-separator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-numeric-separator\",\n },\n transform: {\n name: \"@babel/plugin-transform-numeric-separator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-numeric-separator\",\n },\n },\n nullishCoalescingOperator: {\n syntax: {\n name: \"@babel/plugin-syntax-nullish-coalescing-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-nullish-coalescing-operator\",\n },\n transform: {\n name: \"@babel/plugin-transform-nullish-coalescing-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-nullish-coalescing-opearator\",\n },\n },\n objectRestSpread: {\n syntax: {\n name: \"@babel/plugin-syntax-object-rest-spread\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-object-rest-spread\",\n },\n transform: {\n name: \"@babel/plugin-transform-object-rest-spread\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-object-rest-spread\",\n },\n },\n optionalCatchBinding: {\n syntax: {\n name: \"@babel/plugin-syntax-optional-catch-binding\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-catch-binding\",\n },\n transform: {\n name: \"@babel/plugin-transform-optional-catch-binding\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-optional-catch-binding\",\n },\n },\n optionalChaining: {\n syntax: {\n name: \"@babel/plugin-syntax-optional-chaining\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-chaining\",\n },\n transform: {\n name: \"@babel/plugin-transform-optional-chaining\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-optional-chaining\",\n },\n },\n privateIn: {\n syntax: {\n name: \"@babel/plugin-syntax-private-property-in-object\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-private-property-in-object\",\n },\n transform: {\n name: \"@babel/plugin-transform-private-property-in-object\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-private-property-in-object\",\n },\n },\n regexpUnicodeSets: {\n syntax: {\n name: \"@babel/plugin-syntax-unicode-sets-regex\",\n url: \"https://github.com/babel/babel/blob/main/packages/babel-plugin-syntax-unicode-sets-regex/README.md\",\n },\n transform: {\n name: \"@babel/plugin-transform-unicode-sets-regex\",\n url: \"https://github.com/babel/babel/blob/main/packages/babel-plugin-proposalunicode-sets-regex/README.md\",\n },\n },\n });\n}\n\nconst getNameURLCombination = ({ name, url }: { name: string; url: string }) =>\n `${name} (${url})`;\n\n/*\nReturns a string of the format:\nSupport for the experimental syntax [@babel/parser plugin name] isn't currently enabled ([loc]):\n\n[code frame]\n\nAdd [npm package name] ([url]) to the 'plugins' section of your Babel config\nto enable [parsing|transformation].\n*/\nexport default function generateMissingPluginMessage(\n missingPluginName: string,\n loc: {\n line: number;\n column: number;\n },\n codeFrame: string,\n): string {\n let helpMessage =\n `Support for the experimental syntax '${missingPluginName}' isn't currently enabled ` +\n `(${loc.line}:${loc.column + 1}):\\n\\n` +\n codeFrame;\n const pluginInfo = pluginNameMap[missingPluginName];\n if (pluginInfo) {\n const { syntax: syntaxPlugin, transform: transformPlugin } = pluginInfo;\n if (syntaxPlugin) {\n const syntaxPluginInfo = getNameURLCombination(syntaxPlugin);\n if (transformPlugin) {\n const transformPluginInfo = getNameURLCombination(transformPlugin);\n const sectionType = transformPlugin.name.startsWith(\"@babel/plugin\")\n ? \"plugins\"\n : \"presets\";\n helpMessage += `\\n\\nAdd ${transformPluginInfo} to the '${sectionType}' section of your Babel config to enable transformation.\nIf you want to leave it as-is, add ${syntaxPluginInfo} to the 'plugins' section to enable parsing.`;\n } else {\n helpMessage +=\n `\\n\\nAdd ${syntaxPluginInfo} to the 'plugins' section of your Babel config ` +\n `to enable parsing.`;\n }\n }\n }\n return helpMessage;\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/tools/build-external-helpers.js.map b/node_modules/@babel/core/lib/tools/build-external-helpers.js.map index 49f517717..a96ff2bbd 100644 --- a/node_modules/@babel/core/lib/tools/build-external-helpers.js.map +++ b/node_modules/@babel/core/lib/tools/build-external-helpers.js.map @@ -1 +1 @@ -{"version":3,"names":["helpers","data","require","_generator","_template","_t","_file","arrayExpression","assignmentExpression","binaryExpression","blockStatement","callExpression","cloneNode","conditionalExpression","exportNamedDeclaration","exportSpecifier","expressionStatement","functionExpression","identifier","memberExpression","objectExpression","program","stringLiteral","unaryExpression","variableDeclaration","variableDeclarator","buildUmdWrapper","replacements","template","statement","buildGlobal","allowlist","namespace","body","container","tree","push","buildHelpers","buildModule","refs","unshift","Object","keys","map","name","buildUmd","FACTORY_PARAMETERS","BROWSER_ARGUMENTS","COMMON_ARGUMENTS","AMD_ARGUMENTS","FACTORY_BODY","UMD_ROOT","buildVar","getHelperReference","list","forEach","indexOf","ref","ensure","File","nodes","get","_default","outputType","build","global","module","umd","var","Error","generator","code"],"sources":["../../src/tools/build-external-helpers.ts"],"sourcesContent":["import * as helpers from \"@babel/helpers\";\nimport generator from \"@babel/generator\";\nimport template from \"@babel/template\";\nimport {\n arrayExpression,\n assignmentExpression,\n binaryExpression,\n blockStatement,\n callExpression,\n cloneNode,\n conditionalExpression,\n exportNamedDeclaration,\n exportSpecifier,\n expressionStatement,\n functionExpression,\n identifier,\n memberExpression,\n objectExpression,\n program,\n stringLiteral,\n unaryExpression,\n variableDeclaration,\n variableDeclarator,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport File from \"../transformation/file/file\";\nimport type { PublicReplacements } from \"@babel/template/src/options\";\n\n// Wrapped to avoid wasting time parsing this when almost no-one uses\n// build-external-helpers.\nconst buildUmdWrapper = (replacements: PublicReplacements) =>\n template.statement`\n (function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(AMD_ARGUMENTS, factory);\n } else if (typeof exports === \"object\") {\n factory(COMMON_ARGUMENTS);\n } else {\n factory(BROWSER_ARGUMENTS);\n }\n })(UMD_ROOT, function (FACTORY_PARAMETERS) {\n FACTORY_BODY\n });\n `(replacements);\n\nfunction buildGlobal(allowlist?: Array) {\n const namespace = identifier(\"babelHelpers\");\n\n const body: t.Statement[] = [];\n const container = functionExpression(\n null,\n [identifier(\"global\")],\n blockStatement(body),\n );\n const tree = program([\n expressionStatement(\n callExpression(container, [\n // typeof global === \"undefined\" ? self : global\n conditionalExpression(\n binaryExpression(\n \"===\",\n unaryExpression(\"typeof\", identifier(\"global\")),\n stringLiteral(\"undefined\"),\n ),\n identifier(\"self\"),\n identifier(\"global\"),\n ),\n ]),\n ),\n ]);\n\n body.push(\n variableDeclaration(\"var\", [\n variableDeclarator(\n namespace,\n assignmentExpression(\n \"=\",\n memberExpression(identifier(\"global\"), namespace),\n objectExpression([]),\n ),\n ),\n ]),\n );\n\n buildHelpers(body, namespace, allowlist);\n\n return tree;\n}\n\nfunction buildModule(allowlist?: Array) {\n const body: t.Statement[] = [];\n const refs = buildHelpers(body, null, allowlist);\n\n body.unshift(\n exportNamedDeclaration(\n null,\n Object.keys(refs).map(name => {\n return exportSpecifier(cloneNode(refs[name]), identifier(name));\n }),\n ),\n );\n\n return program(body, [], \"module\");\n}\n\nfunction buildUmd(allowlist?: Array) {\n const namespace = identifier(\"babelHelpers\");\n\n const body: t.Statement[] = [];\n body.push(\n variableDeclaration(\"var\", [\n variableDeclarator(namespace, identifier(\"global\")),\n ]),\n );\n\n buildHelpers(body, namespace, allowlist);\n\n return program([\n buildUmdWrapper({\n FACTORY_PARAMETERS: identifier(\"global\"),\n BROWSER_ARGUMENTS: assignmentExpression(\n \"=\",\n memberExpression(identifier(\"root\"), namespace),\n objectExpression([]),\n ),\n COMMON_ARGUMENTS: identifier(\"exports\"),\n AMD_ARGUMENTS: arrayExpression([stringLiteral(\"exports\")]),\n FACTORY_BODY: body,\n UMD_ROOT: identifier(\"this\"),\n }),\n ]);\n}\n\nfunction buildVar(allowlist?: Array) {\n const namespace = identifier(\"babelHelpers\");\n\n const body: t.Statement[] = [];\n body.push(\n variableDeclaration(\"var\", [\n variableDeclarator(namespace, objectExpression([])),\n ]),\n );\n const tree = program(body);\n buildHelpers(body, namespace, allowlist);\n body.push(expressionStatement(namespace));\n return tree;\n}\n\nfunction buildHelpers(\n body: t.Statement[],\n namespace: t.Expression,\n allowlist?: Array,\n): Record;\nfunction buildHelpers(\n body: t.Statement[],\n namespace: null,\n allowlist?: Array,\n): Record;\n\nfunction buildHelpers(\n body: t.Statement[],\n namespace: t.Expression | null,\n allowlist?: Array,\n) {\n const getHelperReference = (name: string) => {\n return namespace\n ? memberExpression(namespace, identifier(name))\n : identifier(`_${name}`);\n };\n\n const refs: { [key: string]: t.Identifier | t.MemberExpression } = {};\n helpers.list.forEach(function (name) {\n if (allowlist && allowlist.indexOf(name) < 0) return;\n\n const ref = (refs[name] = getHelperReference(name));\n\n helpers.ensure(name, File);\n const { nodes } = helpers.get(name, getHelperReference, ref);\n\n body.push(...nodes);\n });\n return refs;\n}\nexport default function (\n allowlist?: Array,\n outputType: \"global\" | \"module\" | \"umd\" | \"var\" = \"global\",\n) {\n let tree: t.Program;\n\n const build = {\n global: buildGlobal,\n module: buildModule,\n umd: buildUmd,\n var: buildVar,\n }[outputType];\n\n if (build) {\n tree = build(allowlist);\n } else {\n throw new Error(`Unsupported output type ${outputType}`);\n }\n\n return generator(tree).code;\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["helpers","data","require","_generator","_template","_t","_file","arrayExpression","assignmentExpression","binaryExpression","blockStatement","callExpression","cloneNode","conditionalExpression","exportNamedDeclaration","exportSpecifier","expressionStatement","functionExpression","identifier","memberExpression","objectExpression","program","stringLiteral","unaryExpression","variableDeclaration","variableDeclarator","buildUmdWrapper","replacements","template","statement","buildGlobal","allowlist","namespace","body","container","tree","push","buildHelpers","buildModule","refs","unshift","Object","keys","map","name","buildUmd","FACTORY_PARAMETERS","BROWSER_ARGUMENTS","COMMON_ARGUMENTS","AMD_ARGUMENTS","FACTORY_BODY","UMD_ROOT","buildVar","getHelperReference","list","forEach","indexOf","ref","ensure","File","nodes","get","_default","outputType","build","global","module","umd","var","Error","generator","code"],"sources":["../../src/tools/build-external-helpers.ts"],"sourcesContent":["import * as helpers from \"@babel/helpers\";\nimport generator from \"@babel/generator\";\nimport template from \"@babel/template\";\nimport {\n arrayExpression,\n assignmentExpression,\n binaryExpression,\n blockStatement,\n callExpression,\n cloneNode,\n conditionalExpression,\n exportNamedDeclaration,\n exportSpecifier,\n expressionStatement,\n functionExpression,\n identifier,\n memberExpression,\n objectExpression,\n program,\n stringLiteral,\n unaryExpression,\n variableDeclaration,\n variableDeclarator,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport File from \"../transformation/file/file\";\nimport type { PublicReplacements } from \"@babel/template/src/options\";\n\n// Wrapped to avoid wasting time parsing this when almost no-one uses\n// build-external-helpers.\nconst buildUmdWrapper = (replacements: PublicReplacements) =>\n template.statement`\n (function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(AMD_ARGUMENTS, factory);\n } else if (typeof exports === \"object\") {\n factory(COMMON_ARGUMENTS);\n } else {\n factory(BROWSER_ARGUMENTS);\n }\n })(UMD_ROOT, function (FACTORY_PARAMETERS) {\n FACTORY_BODY\n });\n `(replacements);\n\nfunction buildGlobal(allowlist?: Array) {\n const namespace = identifier(\"babelHelpers\");\n\n const body: t.Statement[] = [];\n const container = functionExpression(\n null,\n [identifier(\"global\")],\n blockStatement(body),\n );\n const tree = program([\n expressionStatement(\n callExpression(container, [\n // typeof global === \"undefined\" ? self : global\n conditionalExpression(\n binaryExpression(\n \"===\",\n unaryExpression(\"typeof\", identifier(\"global\")),\n stringLiteral(\"undefined\"),\n ),\n identifier(\"self\"),\n identifier(\"global\"),\n ),\n ]),\n ),\n ]);\n\n body.push(\n variableDeclaration(\"var\", [\n variableDeclarator(\n namespace,\n assignmentExpression(\n \"=\",\n memberExpression(identifier(\"global\"), namespace),\n objectExpression([]),\n ),\n ),\n ]),\n );\n\n buildHelpers(body, namespace, allowlist);\n\n return tree;\n}\n\nfunction buildModule(allowlist?: Array) {\n const body: t.Statement[] = [];\n const refs = buildHelpers(body, null, allowlist);\n\n body.unshift(\n exportNamedDeclaration(\n null,\n Object.keys(refs).map(name => {\n return exportSpecifier(cloneNode(refs[name]), identifier(name));\n }),\n ),\n );\n\n return program(body, [], \"module\");\n}\n\nfunction buildUmd(allowlist?: Array) {\n const namespace = identifier(\"babelHelpers\");\n\n const body: t.Statement[] = [];\n body.push(\n variableDeclaration(\"var\", [\n variableDeclarator(namespace, identifier(\"global\")),\n ]),\n );\n\n buildHelpers(body, namespace, allowlist);\n\n return program([\n buildUmdWrapper({\n FACTORY_PARAMETERS: identifier(\"global\"),\n BROWSER_ARGUMENTS: assignmentExpression(\n \"=\",\n memberExpression(identifier(\"root\"), namespace),\n objectExpression([]),\n ),\n COMMON_ARGUMENTS: identifier(\"exports\"),\n AMD_ARGUMENTS: arrayExpression([stringLiteral(\"exports\")]),\n FACTORY_BODY: body,\n UMD_ROOT: identifier(\"this\"),\n }),\n ]);\n}\n\nfunction buildVar(allowlist?: Array) {\n const namespace = identifier(\"babelHelpers\");\n\n const body: t.Statement[] = [];\n body.push(\n variableDeclaration(\"var\", [\n variableDeclarator(namespace, objectExpression([])),\n ]),\n );\n const tree = program(body);\n buildHelpers(body, namespace, allowlist);\n body.push(expressionStatement(namespace));\n return tree;\n}\n\nfunction buildHelpers(\n body: t.Statement[],\n namespace: t.Expression,\n allowlist?: Array,\n): Record;\nfunction buildHelpers(\n body: t.Statement[],\n namespace: null,\n allowlist?: Array,\n): Record;\n\nfunction buildHelpers(\n body: t.Statement[],\n namespace: t.Expression | null,\n allowlist?: Array,\n) {\n const getHelperReference = (name: string) => {\n return namespace\n ? memberExpression(namespace, identifier(name))\n : identifier(`_${name}`);\n };\n\n const refs: { [key: string]: t.Identifier | t.MemberExpression } = {};\n helpers.list.forEach(function (name) {\n if (allowlist && allowlist.indexOf(name) < 0) return;\n\n const ref = (refs[name] = getHelperReference(name));\n\n helpers.ensure(name, File);\n const { nodes } = helpers.get(name, getHelperReference, ref);\n\n body.push(...nodes);\n });\n return refs;\n}\nexport default function (\n allowlist?: Array,\n outputType: \"global\" | \"module\" | \"umd\" | \"var\" = \"global\",\n) {\n let tree: t.Program;\n\n const build = {\n global: buildGlobal,\n module: buildModule,\n umd: buildUmd,\n var: buildVar,\n }[outputType];\n\n if (build) {\n tree = build(allowlist);\n } else {\n throw new Error(`Unsupported output type ${outputType}`);\n }\n\n return generator(tree).code;\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transform-ast.js.map b/node_modules/@babel/core/lib/transform-ast.js.map index 09dca7124..c1ecfaf06 100644 --- a/node_modules/@babel/core/lib/transform-ast.js.map +++ b/node_modules/@babel/core/lib/transform-ast.js.map @@ -1 +1 @@ -{"version":3,"names":["_gensync","data","require","_config","_transformation","_rewriteStackTrace","transformFromAstRunner","gensync","ast","code","opts","config","loadConfig","Error","run","transformFromAst","optsOrCallback","maybeCallback","callback","undefined","beginHiddenCallStack","sync","errback","exports","transformFromAstSync","args","transformFromAstAsync","async"],"sources":["../src/transform-ast.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\n\nimport loadConfig from \"./config\";\nimport type { InputOptions, ResolvedConfig } from \"./config\";\nimport { run } from \"./transformation\";\nimport type * as t from \"@babel/types\";\n\nimport { beginHiddenCallStack } from \"./errors/rewrite-stack-trace\";\n\nimport type { FileResult, FileResultCallback } from \"./transformation\";\ntype AstRoot = t.File | t.Program;\n\ntype TransformFromAst = {\n (ast: AstRoot, code: string, callback: FileResultCallback): void;\n (\n ast: AstRoot,\n code: string,\n opts: InputOptions | undefined | null,\n callback: FileResultCallback,\n ): void;\n (ast: AstRoot, code: string, opts?: InputOptions | null): FileResult | null;\n};\n\nconst transformFromAstRunner = gensync(function* (\n ast: AstRoot,\n code: string,\n opts: InputOptions | undefined | null,\n): Handler {\n const config: ResolvedConfig | null = yield* loadConfig(opts);\n if (config === null) return null;\n\n if (!ast) throw new Error(\"No AST given\");\n\n return yield* run(config, code, ast);\n});\n\nexport const transformFromAst: TransformFromAst = function transformFromAst(\n ast,\n code,\n optsOrCallback?: InputOptions | null | undefined | FileResultCallback,\n maybeCallback?: FileResultCallback,\n) {\n let opts: InputOptions | undefined | null;\n let callback: FileResultCallback | undefined;\n if (typeof optsOrCallback === \"function\") {\n callback = optsOrCallback;\n opts = undefined;\n } else {\n opts = optsOrCallback;\n callback = maybeCallback;\n }\n\n if (callback === undefined) {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'transformFromAst' function expects a callback. If you need to call it synchronously, please use 'transformFromAstSync'.\",\n );\n } else {\n // console.warn(\n // \"Starting from Babel 8.0.0, the 'transformFromAst' function will expect a callback. If you need to call it synchronously, please use 'transformFromAstSync'.\",\n // );\n return beginHiddenCallStack(transformFromAstRunner.sync)(ast, code, opts);\n }\n }\n\n beginHiddenCallStack(transformFromAstRunner.errback)(\n ast,\n code,\n opts,\n callback,\n );\n};\n\nexport function transformFromAstSync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(transformFromAstRunner.sync)(...args);\n}\n\nexport function transformFromAstAsync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(transformFromAstRunner.async)(...args);\n}\n"],"mappings":";;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAE,OAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAGA,IAAAG,kBAAA,GAAAH,OAAA;AAgBA,MAAMI,sBAAsB,GAAGC,UAAO,CAAC,WACrCC,GAAY,EACZC,IAAY,EACZC,IAAqC,EACT;EAC5B,MAAMC,MAA6B,GAAG,OAAO,IAAAC,eAAU,EAACF,IAAI,CAAC;EAC7D,IAAIC,MAAM,KAAK,IAAI,EAAE,OAAO,IAAI;EAEhC,IAAI,CAACH,GAAG,EAAE,MAAM,IAAIK,KAAK,CAAC,cAAc,CAAC;EAEzC,OAAO,OAAO,IAAAC,mBAAG,EAACH,MAAM,EAAEF,IAAI,EAAED,GAAG,CAAC;AACtC,CAAC,CAAC;AAEK,MAAMO,gBAAkC,GAAG,SAASA,gBAAgBA,CACzEP,GAAG,EACHC,IAAI,EACJO,cAAqE,EACrEC,aAAkC,EAClC;EACA,IAAIP,IAAqC;EACzC,IAAIQ,QAAwC;EAC5C,IAAI,OAAOF,cAAc,KAAK,UAAU,EAAE;IACxCE,QAAQ,GAAGF,cAAc;IACzBN,IAAI,GAAGS,SAAS;EAClB,CAAC,MAAM;IACLT,IAAI,GAAGM,cAAc;IACrBE,QAAQ,GAAGD,aAAa;EAC1B;EAEA,IAAIC,QAAQ,KAAKC,SAAS,EAAE;IAKnB;MAIL,OAAO,IAAAC,uCAAoB,EAACd,sBAAsB,CAACe,IAAI,CAAC,CAACb,GAAG,EAAEC,IAAI,EAAEC,IAAI,CAAC;IAC3E;EACF;EAEA,IAAAU,uCAAoB,EAACd,sBAAsB,CAACgB,OAAO,CAAC,CAClDd,GAAG,EACHC,IAAI,EACJC,IAAI,EACJQ,QAAQ,CACT;AACH,CAAC;AAACK,OAAA,CAAAR,gBAAA,GAAAA,gBAAA;AAEK,SAASS,oBAAoBA,CAClC,GAAGC,IAAoD,EACvD;EACA,OAAO,IAAAL,uCAAoB,EAACd,sBAAsB,CAACe,IAAI,CAAC,CAAC,GAAGI,IAAI,CAAC;AACnE;AAEO,SAASC,qBAAqBA,CACnC,GAAGD,IAAqD,EACxD;EACA,OAAO,IAAAL,uCAAoB,EAACd,sBAAsB,CAACqB,KAAK,CAAC,CAAC,GAAGF,IAAI,CAAC;AACpE;AAAC"} \ No newline at end of file +{"version":3,"names":["_gensync","data","require","_config","_transformation","_rewriteStackTrace","transformFromAstRunner","gensync","ast","code","opts","config","loadConfig","Error","run","transformFromAst","optsOrCallback","maybeCallback","callback","undefined","beginHiddenCallStack","sync","errback","exports","transformFromAstSync","args","transformFromAstAsync","async"],"sources":["../src/transform-ast.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\n\nimport loadConfig from \"./config\";\nimport type { InputOptions, ResolvedConfig } from \"./config\";\nimport { run } from \"./transformation\";\nimport type * as t from \"@babel/types\";\n\nimport { beginHiddenCallStack } from \"./errors/rewrite-stack-trace\";\n\nimport type { FileResult, FileResultCallback } from \"./transformation\";\ntype AstRoot = t.File | t.Program;\n\ntype TransformFromAst = {\n (ast: AstRoot, code: string, callback: FileResultCallback): void;\n (\n ast: AstRoot,\n code: string,\n opts: InputOptions | undefined | null,\n callback: FileResultCallback,\n ): void;\n (ast: AstRoot, code: string, opts?: InputOptions | null): FileResult | null;\n};\n\nconst transformFromAstRunner = gensync(function* (\n ast: AstRoot,\n code: string,\n opts: InputOptions | undefined | null,\n): Handler {\n const config: ResolvedConfig | null = yield* loadConfig(opts);\n if (config === null) return null;\n\n if (!ast) throw new Error(\"No AST given\");\n\n return yield* run(config, code, ast);\n});\n\nexport const transformFromAst: TransformFromAst = function transformFromAst(\n ast,\n code,\n optsOrCallback?: InputOptions | null | undefined | FileResultCallback,\n maybeCallback?: FileResultCallback,\n) {\n let opts: InputOptions | undefined | null;\n let callback: FileResultCallback | undefined;\n if (typeof optsOrCallback === \"function\") {\n callback = optsOrCallback;\n opts = undefined;\n } else {\n opts = optsOrCallback;\n callback = maybeCallback;\n }\n\n if (callback === undefined) {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'transformFromAst' function expects a callback. If you need to call it synchronously, please use 'transformFromAstSync'.\",\n );\n } else {\n // console.warn(\n // \"Starting from Babel 8.0.0, the 'transformFromAst' function will expect a callback. If you need to call it synchronously, please use 'transformFromAstSync'.\",\n // );\n return beginHiddenCallStack(transformFromAstRunner.sync)(ast, code, opts);\n }\n }\n\n beginHiddenCallStack(transformFromAstRunner.errback)(\n ast,\n code,\n opts,\n callback,\n );\n};\n\nexport function transformFromAstSync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(transformFromAstRunner.sync)(...args);\n}\n\nexport function transformFromAstAsync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(transformFromAstRunner.async)(...args);\n}\n"],"mappings":";;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAE,OAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAGA,IAAAG,kBAAA,GAAAH,OAAA;AAgBA,MAAMI,sBAAsB,GAAGC,SAAMA,CAAC,CAAC,WACrCC,GAAY,EACZC,IAAY,EACZC,IAAqC,EACT;EAC5B,MAAMC,MAA6B,GAAG,OAAO,IAAAC,eAAU,EAACF,IAAI,CAAC;EAC7D,IAAIC,MAAM,KAAK,IAAI,EAAE,OAAO,IAAI;EAEhC,IAAI,CAACH,GAAG,EAAE,MAAM,IAAIK,KAAK,CAAC,cAAc,CAAC;EAEzC,OAAO,OAAO,IAAAC,mBAAG,EAACH,MAAM,EAAEF,IAAI,EAAED,GAAG,CAAC;AACtC,CAAC,CAAC;AAEK,MAAMO,gBAAkC,GAAG,SAASA,gBAAgBA,CACzEP,GAAG,EACHC,IAAI,EACJO,cAAqE,EACrEC,aAAkC,EAClC;EACA,IAAIP,IAAqC;EACzC,IAAIQ,QAAwC;EAC5C,IAAI,OAAOF,cAAc,KAAK,UAAU,EAAE;IACxCE,QAAQ,GAAGF,cAAc;IACzBN,IAAI,GAAGS,SAAS;EAClB,CAAC,MAAM;IACLT,IAAI,GAAGM,cAAc;IACrBE,QAAQ,GAAGD,aAAa;EAC1B;EAEA,IAAIC,QAAQ,KAAKC,SAAS,EAAE;IAKnB;MAIL,OAAO,IAAAC,uCAAoB,EAACd,sBAAsB,CAACe,IAAI,CAAC,CAACb,GAAG,EAAEC,IAAI,EAAEC,IAAI,CAAC;IAC3E;EACF;EAEA,IAAAU,uCAAoB,EAACd,sBAAsB,CAACgB,OAAO,CAAC,CAClDd,GAAG,EACHC,IAAI,EACJC,IAAI,EACJQ,QACF,CAAC;AACH,CAAC;AAACK,OAAA,CAAAR,gBAAA,GAAAA,gBAAA;AAEK,SAASS,oBAAoBA,CAClC,GAAGC,IAAoD,EACvD;EACA,OAAO,IAAAL,uCAAoB,EAACd,sBAAsB,CAACe,IAAI,CAAC,CAAC,GAAGI,IAAI,CAAC;AACnE;AAEO,SAASC,qBAAqBA,CACnC,GAAGD,IAAqD,EACxD;EACA,OAAO,IAAAL,uCAAoB,EAACd,sBAAsB,CAACqB,KAAK,CAAC,CAAC,GAAGF,IAAI,CAAC;AACpE;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transform-file-browser.js.map b/node_modules/@babel/core/lib/transform-file-browser.js.map index e24820f92..8a44fb759 100644 --- a/node_modules/@babel/core/lib/transform-file-browser.js.map +++ b/node_modules/@babel/core/lib/transform-file-browser.js.map @@ -1 +1 @@ -{"version":3,"names":["transformFile","filename","opts","callback","Error","exports","transformFileSync","transformFileAsync","Promise","reject"],"sources":["../src/transform-file-browser.ts"],"sourcesContent":["// duplicated from transform-file so we do not have to import anything here\ntype TransformFile = {\n (filename: string, callback: (error: Error, file: null) => void): void;\n (\n filename: string,\n opts: any,\n callback: (error: Error, file: null) => void,\n ): void;\n};\n\nexport const transformFile: TransformFile = function transformFile(\n filename,\n opts,\n callback?: (error: Error, file: null) => void,\n) {\n if (typeof opts === \"function\") {\n callback = opts;\n }\n\n callback(new Error(\"Transforming files is not supported in browsers\"), null);\n};\n\nexport function transformFileSync(): never {\n throw new Error(\"Transforming files is not supported in browsers\");\n}\n\nexport function transformFileAsync() {\n return Promise.reject(\n new Error(\"Transforming files is not supported in browsers\"),\n );\n}\n"],"mappings":";;;;;;;;AAUO,MAAMA,aAA4B,GAAG,SAASA,aAAaA,CAChEC,QAAQ,EACRC,IAAI,EACJC,QAA6C,EAC7C;EACA,IAAI,OAAOD,IAAI,KAAK,UAAU,EAAE;IAC9BC,QAAQ,GAAGD,IAAI;EACjB;EAEAC,QAAQ,CAAC,IAAIC,KAAK,CAAC,iDAAiD,CAAC,EAAE,IAAI,CAAC;AAC9E,CAAC;AAACC,OAAA,CAAAL,aAAA,GAAAA,aAAA;AAEK,SAASM,iBAAiBA,CAAA,EAAU;EACzC,MAAM,IAAIF,KAAK,CAAC,iDAAiD,CAAC;AACpE;AAEO,SAASG,kBAAkBA,CAAA,EAAG;EACnC,OAAOC,OAAO,CAACC,MAAM,CACnB,IAAIL,KAAK,CAAC,iDAAiD,CAAC,CAC7D;AACH;AAAC"} \ No newline at end of file +{"version":3,"names":["transformFile","filename","opts","callback","Error","exports","transformFileSync","transformFileAsync","Promise","reject"],"sources":["../src/transform-file-browser.ts"],"sourcesContent":["// duplicated from transform-file so we do not have to import anything here\ntype TransformFile = {\n (filename: string, callback: (error: Error, file: null) => void): void;\n (\n filename: string,\n opts: any,\n callback: (error: Error, file: null) => void,\n ): void;\n};\n\nexport const transformFile: TransformFile = function transformFile(\n filename,\n opts,\n callback?: (error: Error, file: null) => void,\n) {\n if (typeof opts === \"function\") {\n callback = opts;\n }\n\n callback(new Error(\"Transforming files is not supported in browsers\"), null);\n};\n\nexport function transformFileSync(): never {\n throw new Error(\"Transforming files is not supported in browsers\");\n}\n\nexport function transformFileAsync() {\n return Promise.reject(\n new Error(\"Transforming files is not supported in browsers\"),\n );\n}\n"],"mappings":";;;;;;;;AAUO,MAAMA,aAA4B,GAAG,SAASA,aAAaA,CAChEC,QAAQ,EACRC,IAAI,EACJC,QAA6C,EAC7C;EACA,IAAI,OAAOD,IAAI,KAAK,UAAU,EAAE;IAC9BC,QAAQ,GAAGD,IAAI;EACjB;EAEAC,QAAQ,CAAC,IAAIC,KAAK,CAAC,iDAAiD,CAAC,EAAE,IAAI,CAAC;AAC9E,CAAC;AAACC,OAAA,CAAAL,aAAA,GAAAA,aAAA;AAEK,SAASM,iBAAiBA,CAAA,EAAU;EACzC,MAAM,IAAIF,KAAK,CAAC,iDAAiD,CAAC;AACpE;AAEO,SAASG,kBAAkBA,CAAA,EAAG;EACnC,OAAOC,OAAO,CAACC,MAAM,CACnB,IAAIL,KAAK,CAAC,iDAAiD,CAC7D,CAAC;AACH;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transform-file.js.map b/node_modules/@babel/core/lib/transform-file.js.map index 4e33b98dd..af99a13a8 100644 --- a/node_modules/@babel/core/lib/transform-file.js.map +++ b/node_modules/@babel/core/lib/transform-file.js.map @@ -1 +1 @@ -{"version":3,"names":["_gensync","data","require","_config","_transformation","fs","transformFileRunner","gensync","filename","opts","options","Object","assign","config","loadConfig","code","readFile","run","transformFile","args","errback","transformFileSync","sync","transformFileAsync","async"],"sources":["../src/transform-file.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\n\nimport loadConfig from \"./config\";\nimport type { InputOptions, ResolvedConfig } from \"./config\";\nimport { run } from \"./transformation\";\nimport type { FileResult, FileResultCallback } from \"./transformation\";\nimport * as fs from \"./gensync-utils/fs\";\n\ntype transformFileBrowserType = typeof import(\"./transform-file-browser\");\ntype transformFileType = typeof import(\"./transform-file\");\n\n// Kind of gross, but essentially asserting that the exports of this module are the same as the\n// exports of transform-file-browser, since this file may be replaced at bundle time with\n// transform-file-browser.\n({}) as any as transformFileBrowserType as transformFileType;\n\nconst transformFileRunner = gensync(function* (\n filename: string,\n opts?: InputOptions,\n): Handler {\n const options = { ...opts, filename };\n\n const config: ResolvedConfig | null = yield* loadConfig(options);\n if (config === null) return null;\n\n const code = yield* fs.readFile(filename, \"utf8\");\n return yield* run(config, code);\n});\n\n// @ts-expect-error TS doesn't detect that this signature is compatible\nexport function transformFile(\n filename: string,\n callback: FileResultCallback,\n): void;\nexport function transformFile(\n filename: string,\n opts: InputOptions | undefined | null,\n callback: FileResultCallback,\n): void;\nexport function transformFile(\n ...args: Parameters\n) {\n transformFileRunner.errback(...args);\n}\n\nexport function transformFileSync(\n ...args: Parameters\n) {\n return transformFileRunner.sync(...args);\n}\nexport function transformFileAsync(\n ...args: Parameters\n) {\n return transformFileRunner.async(...args);\n}\n"],"mappings":";;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAE,OAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAEA,IAAAG,EAAA,GAAAH,OAAA;AAQA,CAAC,CAAC,CAAC;AAEH,MAAMI,mBAAmB,GAAGC,UAAO,CAAC,WAClCC,QAAgB,EAChBC,IAAmB,EACS;EAC5B,MAAMC,OAAO,GAAAC,MAAA,CAAAC,MAAA,KAAQH,IAAI;IAAED;EAAQ,EAAE;EAErC,MAAMK,MAA6B,GAAG,OAAO,IAAAC,eAAU,EAACJ,OAAO,CAAC;EAChE,IAAIG,MAAM,KAAK,IAAI,EAAE,OAAO,IAAI;EAEhC,MAAME,IAAI,GAAG,OAAOV,EAAE,CAACW,QAAQ,CAACR,QAAQ,EAAE,MAAM,CAAC;EACjD,OAAO,OAAO,IAAAS,mBAAG,EAACJ,MAAM,EAAEE,IAAI,CAAC;AACjC,CAAC,CAAC;AAYK,SAASG,aAAaA,CAC3B,GAAGC,IAAoD,EACvD;EACAb,mBAAmB,CAACc,OAAO,CAAC,GAAGD,IAAI,CAAC;AACtC;AAEO,SAASE,iBAAiBA,CAC/B,GAAGF,IAAiD,EACpD;EACA,OAAOb,mBAAmB,CAACgB,IAAI,CAAC,GAAGH,IAAI,CAAC;AAC1C;AACO,SAASI,kBAAkBA,CAChC,GAAGJ,IAAkD,EACrD;EACA,OAAOb,mBAAmB,CAACkB,KAAK,CAAC,GAAGL,IAAI,CAAC;AAC3C;AAAC"} \ No newline at end of file +{"version":3,"names":["_gensync","data","require","_config","_transformation","fs","transformFileRunner","gensync","filename","opts","options","Object","assign","config","loadConfig","code","readFile","run","transformFile","args","errback","transformFileSync","sync","transformFileAsync","async"],"sources":["../src/transform-file.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\n\nimport loadConfig from \"./config\";\nimport type { InputOptions, ResolvedConfig } from \"./config\";\nimport { run } from \"./transformation\";\nimport type { FileResult, FileResultCallback } from \"./transformation\";\nimport * as fs from \"./gensync-utils/fs\";\n\ntype transformFileBrowserType = typeof import(\"./transform-file-browser\");\ntype transformFileType = typeof import(\"./transform-file\");\n\n// Kind of gross, but essentially asserting that the exports of this module are the same as the\n// exports of transform-file-browser, since this file may be replaced at bundle time with\n// transform-file-browser.\n({}) as any as transformFileBrowserType as transformFileType;\n\nconst transformFileRunner = gensync(function* (\n filename: string,\n opts?: InputOptions,\n): Handler {\n const options = { ...opts, filename };\n\n const config: ResolvedConfig | null = yield* loadConfig(options);\n if (config === null) return null;\n\n const code = yield* fs.readFile(filename, \"utf8\");\n return yield* run(config, code);\n});\n\n// @ts-expect-error TS doesn't detect that this signature is compatible\nexport function transformFile(\n filename: string,\n callback: FileResultCallback,\n): void;\nexport function transformFile(\n filename: string,\n opts: InputOptions | undefined | null,\n callback: FileResultCallback,\n): void;\nexport function transformFile(\n ...args: Parameters\n) {\n transformFileRunner.errback(...args);\n}\n\nexport function transformFileSync(\n ...args: Parameters\n) {\n return transformFileRunner.sync(...args);\n}\nexport function transformFileAsync(\n ...args: Parameters\n) {\n return transformFileRunner.async(...args);\n}\n"],"mappings":";;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAE,OAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAEA,IAAAG,EAAA,GAAAH,OAAA;AAQA,CAAC,CAAC,CAAC;AAEH,MAAMI,mBAAmB,GAAGC,SAAMA,CAAC,CAAC,WAClCC,QAAgB,EAChBC,IAAmB,EACS;EAC5B,MAAMC,OAAO,GAAAC,MAAA,CAAAC,MAAA,KAAQH,IAAI;IAAED;EAAQ,EAAE;EAErC,MAAMK,MAA6B,GAAG,OAAO,IAAAC,eAAU,EAACJ,OAAO,CAAC;EAChE,IAAIG,MAAM,KAAK,IAAI,EAAE,OAAO,IAAI;EAEhC,MAAME,IAAI,GAAG,OAAOV,EAAE,CAACW,QAAQ,CAACR,QAAQ,EAAE,MAAM,CAAC;EACjD,OAAO,OAAO,IAAAS,mBAAG,EAACJ,MAAM,EAAEE,IAAI,CAAC;AACjC,CAAC,CAAC;AAYK,SAASG,aAAaA,CAC3B,GAAGC,IAAoD,EACvD;EACAb,mBAAmB,CAACc,OAAO,CAAC,GAAGD,IAAI,CAAC;AACtC;AAEO,SAASE,iBAAiBA,CAC/B,GAAGF,IAAiD,EACpD;EACA,OAAOb,mBAAmB,CAACgB,IAAI,CAAC,GAAGH,IAAI,CAAC;AAC1C;AACO,SAASI,kBAAkBA,CAChC,GAAGJ,IAAkD,EACrD;EACA,OAAOb,mBAAmB,CAACkB,KAAK,CAAC,GAAGL,IAAI,CAAC;AAC3C;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transform.js.map b/node_modules/@babel/core/lib/transform.js.map index 3d6aadb18..dbe9a5ac5 100644 --- a/node_modules/@babel/core/lib/transform.js.map +++ b/node_modules/@babel/core/lib/transform.js.map @@ -1 +1 @@ -{"version":3,"names":["_gensync","data","require","_config","_transformation","_rewriteStackTrace","transformRunner","gensync","transform","code","opts","config","loadConfig","run","optsOrCallback","maybeCallback","callback","undefined","beginHiddenCallStack","sync","errback","exports","transformSync","args","transformAsync","async"],"sources":["../src/transform.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\n\nimport loadConfig from \"./config\";\nimport type { InputOptions, ResolvedConfig } from \"./config\";\nimport { run } from \"./transformation\";\n\nimport type { FileResult, FileResultCallback } from \"./transformation\";\nimport { beginHiddenCallStack } from \"./errors/rewrite-stack-trace\";\n\nexport type { FileResult } from \"./transformation\";\n\ntype Transform = {\n (code: string, callback: FileResultCallback): void;\n (\n code: string,\n opts: InputOptions | undefined | null,\n callback: FileResultCallback,\n ): void;\n (code: string, opts?: InputOptions | null): FileResult | null;\n};\n\nconst transformRunner = gensync(function* transform(\n code: string,\n opts?: InputOptions,\n): Handler {\n const config: ResolvedConfig | null = yield* loadConfig(opts);\n if (config === null) return null;\n\n return yield* run(config, code);\n});\n\nexport const transform: Transform = function transform(\n code,\n optsOrCallback?: InputOptions | null | undefined | FileResultCallback,\n maybeCallback?: FileResultCallback,\n) {\n let opts: InputOptions | undefined | null;\n let callback: FileResultCallback | undefined;\n if (typeof optsOrCallback === \"function\") {\n callback = optsOrCallback;\n opts = undefined;\n } else {\n opts = optsOrCallback;\n callback = maybeCallback;\n }\n\n if (callback === undefined) {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'transform' function expects a callback. If you need to call it synchronously, please use 'transformSync'.\",\n );\n } else {\n // console.warn(\n // \"Starting from Babel 8.0.0, the 'transform' function will expect a callback. If you need to call it synchronously, please use 'transformSync'.\",\n // );\n return beginHiddenCallStack(transformRunner.sync)(code, opts);\n }\n }\n\n beginHiddenCallStack(transformRunner.errback)(code, opts, callback);\n};\n\nexport function transformSync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(transformRunner.sync)(...args);\n}\nexport function transformAsync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(transformRunner.async)(...args);\n}\n"],"mappings":";;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAE,OAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAGA,IAAAG,kBAAA,GAAAH,OAAA;AAcA,MAAMI,eAAe,GAAGC,UAAO,CAAC,UAAUC,SAASA,CACjDC,IAAY,EACZC,IAAmB,EACS;EAC5B,MAAMC,MAA6B,GAAG,OAAO,IAAAC,eAAU,EAACF,IAAI,CAAC;EAC7D,IAAIC,MAAM,KAAK,IAAI,EAAE,OAAO,IAAI;EAEhC,OAAO,OAAO,IAAAE,mBAAG,EAACF,MAAM,EAAEF,IAAI,CAAC;AACjC,CAAC,CAAC;AAEK,MAAMD,SAAoB,GAAG,SAASA,SAASA,CACpDC,IAAI,EACJK,cAAqE,EACrEC,aAAkC,EAClC;EACA,IAAIL,IAAqC;EACzC,IAAIM,QAAwC;EAC5C,IAAI,OAAOF,cAAc,KAAK,UAAU,EAAE;IACxCE,QAAQ,GAAGF,cAAc;IACzBJ,IAAI,GAAGO,SAAS;EAClB,CAAC,MAAM;IACLP,IAAI,GAAGI,cAAc;IACrBE,QAAQ,GAAGD,aAAa;EAC1B;EAEA,IAAIC,QAAQ,KAAKC,SAAS,EAAE;IAKnB;MAIL,OAAO,IAAAC,uCAAoB,EAACZ,eAAe,CAACa,IAAI,CAAC,CAACV,IAAI,EAAEC,IAAI,CAAC;IAC/D;EACF;EAEA,IAAAQ,uCAAoB,EAACZ,eAAe,CAACc,OAAO,CAAC,CAACX,IAAI,EAAEC,IAAI,EAAEM,QAAQ,CAAC;AACrE,CAAC;AAACK,OAAA,CAAAb,SAAA,GAAAA,SAAA;AAEK,SAASc,aAAaA,CAC3B,GAAGC,IAA6C,EAChD;EACA,OAAO,IAAAL,uCAAoB,EAACZ,eAAe,CAACa,IAAI,CAAC,CAAC,GAAGI,IAAI,CAAC;AAC5D;AACO,SAASC,cAAcA,CAC5B,GAAGD,IAA8C,EACjD;EACA,OAAO,IAAAL,uCAAoB,EAACZ,eAAe,CAACmB,KAAK,CAAC,CAAC,GAAGF,IAAI,CAAC;AAC7D;AAAC"} \ No newline at end of file +{"version":3,"names":["_gensync","data","require","_config","_transformation","_rewriteStackTrace","transformRunner","gensync","transform","code","opts","config","loadConfig","run","optsOrCallback","maybeCallback","callback","undefined","beginHiddenCallStack","sync","errback","exports","transformSync","args","transformAsync","async"],"sources":["../src/transform.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\n\nimport loadConfig from \"./config\";\nimport type { InputOptions, ResolvedConfig } from \"./config\";\nimport { run } from \"./transformation\";\n\nimport type { FileResult, FileResultCallback } from \"./transformation\";\nimport { beginHiddenCallStack } from \"./errors/rewrite-stack-trace\";\n\nexport type { FileResult } from \"./transformation\";\n\ntype Transform = {\n (code: string, callback: FileResultCallback): void;\n (\n code: string,\n opts: InputOptions | undefined | null,\n callback: FileResultCallback,\n ): void;\n (code: string, opts?: InputOptions | null): FileResult | null;\n};\n\nconst transformRunner = gensync(function* transform(\n code: string,\n opts?: InputOptions,\n): Handler {\n const config: ResolvedConfig | null = yield* loadConfig(opts);\n if (config === null) return null;\n\n return yield* run(config, code);\n});\n\nexport const transform: Transform = function transform(\n code,\n optsOrCallback?: InputOptions | null | undefined | FileResultCallback,\n maybeCallback?: FileResultCallback,\n) {\n let opts: InputOptions | undefined | null;\n let callback: FileResultCallback | undefined;\n if (typeof optsOrCallback === \"function\") {\n callback = optsOrCallback;\n opts = undefined;\n } else {\n opts = optsOrCallback;\n callback = maybeCallback;\n }\n\n if (callback === undefined) {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'transform' function expects a callback. If you need to call it synchronously, please use 'transformSync'.\",\n );\n } else {\n // console.warn(\n // \"Starting from Babel 8.0.0, the 'transform' function will expect a callback. If you need to call it synchronously, please use 'transformSync'.\",\n // );\n return beginHiddenCallStack(transformRunner.sync)(code, opts);\n }\n }\n\n beginHiddenCallStack(transformRunner.errback)(code, opts, callback);\n};\n\nexport function transformSync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(transformRunner.sync)(...args);\n}\nexport function transformAsync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(transformRunner.async)(...args);\n}\n"],"mappings":";;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAE,OAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAGA,IAAAG,kBAAA,GAAAH,OAAA;AAcA,MAAMI,eAAe,GAAGC,SAAMA,CAAC,CAAC,UAAUC,SAASA,CACjDC,IAAY,EACZC,IAAmB,EACS;EAC5B,MAAMC,MAA6B,GAAG,OAAO,IAAAC,eAAU,EAACF,IAAI,CAAC;EAC7D,IAAIC,MAAM,KAAK,IAAI,EAAE,OAAO,IAAI;EAEhC,OAAO,OAAO,IAAAE,mBAAG,EAACF,MAAM,EAAEF,IAAI,CAAC;AACjC,CAAC,CAAC;AAEK,MAAMD,SAAoB,GAAG,SAASA,SAASA,CACpDC,IAAI,EACJK,cAAqE,EACrEC,aAAkC,EAClC;EACA,IAAIL,IAAqC;EACzC,IAAIM,QAAwC;EAC5C,IAAI,OAAOF,cAAc,KAAK,UAAU,EAAE;IACxCE,QAAQ,GAAGF,cAAc;IACzBJ,IAAI,GAAGO,SAAS;EAClB,CAAC,MAAM;IACLP,IAAI,GAAGI,cAAc;IACrBE,QAAQ,GAAGD,aAAa;EAC1B;EAEA,IAAIC,QAAQ,KAAKC,SAAS,EAAE;IAKnB;MAIL,OAAO,IAAAC,uCAAoB,EAACZ,eAAe,CAACa,IAAI,CAAC,CAACV,IAAI,EAAEC,IAAI,CAAC;IAC/D;EACF;EAEA,IAAAQ,uCAAoB,EAACZ,eAAe,CAACc,OAAO,CAAC,CAACX,IAAI,EAAEC,IAAI,EAAEM,QAAQ,CAAC;AACrE,CAAC;AAACK,OAAA,CAAAb,SAAA,GAAAA,SAAA;AAEK,SAASc,aAAaA,CAC3B,GAAGC,IAA6C,EAChD;EACA,OAAO,IAAAL,uCAAoB,EAACZ,eAAe,CAACa,IAAI,CAAC,CAAC,GAAGI,IAAI,CAAC;AAC5D;AACO,SAASC,cAAcA,CAC5B,GAAGD,IAA8C,EACjD;EACA,OAAO,IAAAL,uCAAoB,EAACZ,eAAe,CAACmB,KAAK,CAAC,CAAC,GAAGF,IAAI,CAAC;AAC7D;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js.map b/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js.map index 178dd7886..01b320daa 100644 --- a/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js.map +++ b/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js.map @@ -1 +1 @@ -{"version":3,"names":["_traverse","data","require","_plugin","LOADED_PLUGIN","blockHoistPlugin","name","visitor","Block","exit","node","body","max","Math","pow","hasChange","i","length","n","p","priority","stableSort","slice","loadBlockHoistPlugin","Plugin","Object","assign","traverse","explode","bodyNode","_blockHoist","buckets","create","bucket","push","keys","map","k","sort","a","b","index","key"],"sources":["../../src/transformation/block-hoist-plugin.ts"],"sourcesContent":["import traverse from \"@babel/traverse\";\nimport type { Statement } from \"@babel/types\";\nimport type { PluginObject } from \"../config\";\nimport Plugin from \"../config/plugin\";\n\nlet LOADED_PLUGIN: Plugin | void;\n\nconst blockHoistPlugin: PluginObject = {\n /**\n * [Please add a description.]\n *\n * Priority:\n *\n * - 0 We want this to be at the **very** bottom\n * - 1 Default node position\n * - 2 Priority over normal nodes\n * - 3 We want this to be at the **very** top\n * - 4 Reserved for the helpers used to implement module imports.\n */\n\n name: \"internal.blockHoist\",\n\n visitor: {\n Block: {\n exit({ node }) {\n const { body } = node;\n\n // Largest SMI\n let max = 2 ** 30 - 1;\n let hasChange = false;\n for (let i = 0; i < body.length; i++) {\n const n = body[i];\n const p = priority(n);\n if (p > max) {\n hasChange = true;\n break;\n }\n max = p;\n }\n if (!hasChange) return;\n\n // My kingdom for a stable sort!\n node.body = stableSort(body.slice());\n },\n },\n },\n};\n\nexport default function loadBlockHoistPlugin(): Plugin {\n if (!LOADED_PLUGIN) {\n // cache the loaded blockHoist plugin plugin\n LOADED_PLUGIN = new Plugin(\n {\n ...blockHoistPlugin,\n visitor: traverse.explode(blockHoistPlugin.visitor),\n },\n {},\n );\n }\n\n return LOADED_PLUGIN;\n}\n\nfunction priority(bodyNode: Statement & { _blockHoist?: number | true }) {\n const priority = bodyNode?._blockHoist;\n if (priority == null) return 1;\n if (priority === true) return 2;\n return priority;\n}\n\nfunction stableSort(body: Statement[]) {\n // By default, we use priorities of 0-4.\n const buckets = Object.create(null);\n\n // By collecting into buckets, we can guarantee a stable sort.\n for (let i = 0; i < body.length; i++) {\n const n = body[i];\n const p = priority(n);\n\n // In case some plugin is setting an unexpected priority.\n const bucket = buckets[p] || (buckets[p] = []);\n bucket.push(n);\n }\n\n // Sort our keys in descending order. Keys are unique, so we don't have to\n // worry about stability.\n const keys = Object.keys(buckets)\n .map(k => +k)\n .sort((a, b) => b - a);\n\n let index = 0;\n for (const key of keys) {\n const bucket = buckets[key];\n for (const n of bucket) {\n body[index++] = n;\n }\n }\n return body;\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_traverse","data","require","_plugin","LOADED_PLUGIN","blockHoistPlugin","name","visitor","Block","exit","node","body","max","Math","pow","hasChange","i","length","n","p","priority","stableSort","slice","loadBlockHoistPlugin","Plugin","Object","assign","traverse","explode","bodyNode","_blockHoist","buckets","create","bucket","push","keys","map","k","sort","a","b","index","key"],"sources":["../../src/transformation/block-hoist-plugin.ts"],"sourcesContent":["import traverse from \"@babel/traverse\";\nimport type { Statement } from \"@babel/types\";\nimport type { PluginObject } from \"../config\";\nimport Plugin from \"../config/plugin\";\n\nlet LOADED_PLUGIN: Plugin | void;\n\nconst blockHoistPlugin: PluginObject = {\n /**\n * [Please add a description.]\n *\n * Priority:\n *\n * - 0 We want this to be at the **very** bottom\n * - 1 Default node position\n * - 2 Priority over normal nodes\n * - 3 We want this to be at the **very** top\n * - 4 Reserved for the helpers used to implement module imports.\n */\n\n name: \"internal.blockHoist\",\n\n visitor: {\n Block: {\n exit({ node }) {\n const { body } = node;\n\n // Largest SMI\n let max = 2 ** 30 - 1;\n let hasChange = false;\n for (let i = 0; i < body.length; i++) {\n const n = body[i];\n const p = priority(n);\n if (p > max) {\n hasChange = true;\n break;\n }\n max = p;\n }\n if (!hasChange) return;\n\n // My kingdom for a stable sort!\n node.body = stableSort(body.slice());\n },\n },\n },\n};\n\nexport default function loadBlockHoistPlugin(): Plugin {\n if (!LOADED_PLUGIN) {\n // cache the loaded blockHoist plugin plugin\n LOADED_PLUGIN = new Plugin(\n {\n ...blockHoistPlugin,\n visitor: traverse.explode(blockHoistPlugin.visitor),\n },\n {},\n );\n }\n\n return LOADED_PLUGIN;\n}\n\nfunction priority(bodyNode: Statement & { _blockHoist?: number | true }) {\n const priority = bodyNode?._blockHoist;\n if (priority == null) return 1;\n if (priority === true) return 2;\n return priority;\n}\n\nfunction stableSort(body: Statement[]) {\n // By default, we use priorities of 0-4.\n const buckets = Object.create(null);\n\n // By collecting into buckets, we can guarantee a stable sort.\n for (let i = 0; i < body.length; i++) {\n const n = body[i];\n const p = priority(n);\n\n // In case some plugin is setting an unexpected priority.\n const bucket = buckets[p] || (buckets[p] = []);\n bucket.push(n);\n }\n\n // Sort our keys in descending order. Keys are unique, so we don't have to\n // worry about stability.\n const keys = Object.keys(buckets)\n .map(k => +k)\n .sort((a, b) => b - a);\n\n let index = 0;\n for (const key of keys) {\n const bucket = buckets[key];\n for (const n of bucket) {\n body[index++] = n;\n }\n }\n return body;\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/file/file.js.map b/node_modules/@babel/core/lib/transformation/file/file.js.map index 077c66499..8b89b9872 100644 --- a/node_modules/@babel/core/lib/transformation/file/file.js.map +++ b/node_modules/@babel/core/lib/transformation/file/file.js.map @@ -1 +1 @@ -{"version":3,"names":["helpers","data","require","_traverse","_codeFrame","_t","_helperModuleTransforms","_semver","cloneNode","interpreterDirective","errorVisitor","enter","path","state","loc","node","stop","File","constructor","options","code","ast","inputMap","_map","Map","opts","declarations","scope","metadata","hub","file","getCode","getScope","addHelper","bind","buildError","buildCodeFrameError","NodePath","get","parentPath","parent","container","key","setContext","shebang","interpreter","value","replaceWith","remove","set","val","Error","has","getModuleName","addImport","availableHelper","name","versionRange","minVersion","err","semver","valid","intersects","declar","generator","res","ensure","uid","generateUidIdentifier","dependencies","dep","getDependencies","nodes","globals","Object","keys","getAllBindings","forEach","hasBinding","rename","_compact","unshiftContainer","indexOf","isVariableDeclaration","registerDeclaration","addTemplateObject","msg","_Error","SyntaxError","_loc","traverse","txt","highlightCode","codeFrameColumns","start","line","column","end","undefined","exports","default"],"sources":["../../../src/transformation/file/file.ts"],"sourcesContent":["import * as helpers from \"@babel/helpers\";\nimport { NodePath } from \"@babel/traverse\";\nimport type { HubInterface, Visitor, Scope } from \"@babel/traverse\";\nimport { codeFrameColumns } from \"@babel/code-frame\";\nimport traverse from \"@babel/traverse\";\nimport { cloneNode, interpreterDirective } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport { getModuleName } from \"@babel/helper-module-transforms\";\nimport semver from \"semver\";\n\nimport type { NormalizedFile } from \"../normalize-file\";\n\nconst errorVisitor: Visitor<{ loc: NodeLocation[\"loc\"] | null }> = {\n enter(path, state) {\n const loc = path.node.loc;\n if (loc) {\n state.loc = loc;\n path.stop();\n }\n },\n};\n\nexport type NodeLocation = {\n loc?: {\n end?: {\n line: number;\n column: number;\n };\n start: {\n line: number;\n column: number;\n };\n };\n _loc?: {\n end?: {\n line: number;\n column: number;\n };\n start: {\n line: number;\n column: number;\n };\n };\n};\n\nexport default class File {\n _map: Map = new Map();\n opts: { [key: string]: any };\n declarations: { [key: string]: t.Identifier } = {};\n path: NodePath;\n ast: t.File;\n scope: Scope;\n metadata: { [key: string]: any } = {};\n code: string = \"\";\n inputMap: any;\n\n hub: HubInterface & { file: File } = {\n // keep it for the usage in babel-core, ex: path.hub.file.opts.filename\n file: this,\n getCode: () => this.code,\n getScope: () => this.scope,\n addHelper: this.addHelper.bind(this),\n buildError: this.buildCodeFrameError.bind(this),\n };\n\n constructor(options: {}, { code, ast, inputMap }: NormalizedFile) {\n this.opts = options;\n this.code = code;\n this.ast = ast;\n this.inputMap = inputMap;\n\n this.path = NodePath.get({\n hub: this.hub,\n parentPath: null,\n parent: this.ast,\n container: this.ast,\n key: \"program\",\n }).setContext() as NodePath;\n this.scope = this.path.scope;\n }\n\n /**\n * Provide backward-compatible access to the interpreter directive handling\n * in Babel 6.x. If you are writing a plugin for Babel 7.x, it would be\n * best to use 'program.interpreter' directly.\n */\n get shebang(): string {\n const { interpreter } = this.path.node;\n return interpreter ? interpreter.value : \"\";\n }\n set shebang(value: string) {\n if (value) {\n this.path.get(\"interpreter\").replaceWith(interpreterDirective(value));\n } else {\n this.path.get(\"interpreter\").remove();\n }\n }\n\n set(key: unknown, val: unknown) {\n if (key === \"helpersNamespace\") {\n throw new Error(\n \"Babel 7.0.0-beta.56 has dropped support for the 'helpersNamespace' utility.\" +\n \"If you are using @babel/plugin-external-helpers you will need to use a newer \" +\n \"version than the one you currently have installed. \" +\n \"If you have your own implementation, you'll want to explore using 'helperGenerator' \" +\n \"alongside 'file.availableHelper()'.\",\n );\n }\n\n this._map.set(key, val);\n }\n\n get(key: unknown): any {\n return this._map.get(key);\n }\n\n has(key: unknown): boolean {\n return this._map.has(key);\n }\n\n getModuleName(): string | undefined | null {\n return getModuleName(this.opts, this.opts);\n }\n\n addImport() {\n throw new Error(\n \"This API has been removed. If you're looking for this \" +\n \"functionality in Babel 7, you should import the \" +\n \"'@babel/helper-module-imports' module and use the functions exposed \" +\n \" from that module, such as 'addNamed' or 'addDefault'.\",\n );\n }\n\n /**\n * Check if a given helper is available in @babel/core's helper list.\n *\n * This _also_ allows you to pass a Babel version specifically. If the\n * helper exists, but was not available for the full given range, it will be\n * considered unavailable.\n */\n availableHelper(name: string, versionRange?: string | null): boolean {\n let minVersion;\n try {\n minVersion = helpers.minVersion(name);\n } catch (err) {\n if (err.code !== \"BABEL_HELPER_UNKNOWN\") throw err;\n\n return false;\n }\n\n if (typeof versionRange !== \"string\") return true;\n\n // semver.intersects() has some surprising behavior with comparing ranges\n // with pre-release versions. We add '^' to ensure that we are always\n // comparing ranges with ranges, which sidesteps this logic.\n // For example:\n //\n // semver.intersects(`<7.0.1`, \"7.0.0-beta.0\") // false - surprising\n // semver.intersects(`<7.0.1`, \"^7.0.0-beta.0\") // true - expected\n //\n // This is because the first falls back to\n //\n // semver.satisfies(\"7.0.0-beta.0\", `<7.0.1`) // false - surprising\n //\n // and this fails because a prerelease version can only satisfy a range\n // if it is a prerelease within the same major/minor/patch range.\n //\n // Note: If this is found to have issues, please also revisit the logic in\n // transform-runtime's definitions.js file.\n if (semver.valid(versionRange)) versionRange = `^${versionRange}`;\n\n return (\n !semver.intersects(`<${minVersion}`, versionRange) &&\n !semver.intersects(`>=8.0.0`, versionRange)\n );\n }\n\n addHelper(name: string): t.Identifier {\n const declar = this.declarations[name];\n if (declar) return cloneNode(declar);\n\n const generator = this.get(\"helperGenerator\");\n if (generator) {\n const res = generator(name);\n if (res) return res;\n }\n\n // make sure that the helper exists\n helpers.ensure(name, File);\n\n const uid = (this.declarations[name] =\n this.scope.generateUidIdentifier(name));\n\n const dependencies: { [key: string]: t.Identifier } = {};\n for (const dep of helpers.getDependencies(name)) {\n dependencies[dep] = this.addHelper(dep);\n }\n\n const { nodes, globals } = helpers.get(\n name,\n dep => dependencies[dep],\n uid,\n Object.keys(this.scope.getAllBindings()),\n );\n\n globals.forEach(name => {\n if (this.path.scope.hasBinding(name, true /* noGlobals */)) {\n this.path.scope.rename(name);\n }\n });\n\n nodes.forEach(node => {\n // @ts-expect-error Fixme: document _compact node property\n node._compact = true;\n });\n\n this.path.unshiftContainer(\"body\", nodes);\n // TODO: NodePath#unshiftContainer should automatically register new\n // bindings.\n this.path.get(\"body\").forEach(path => {\n if (nodes.indexOf(path.node) === -1) return;\n if (path.isVariableDeclaration()) this.scope.registerDeclaration(path);\n });\n\n return uid;\n }\n\n addTemplateObject() {\n throw new Error(\n \"This function has been moved into the template literal transform itself.\",\n );\n }\n\n buildCodeFrameError(\n node: NodeLocation | undefined | null,\n msg: string,\n _Error: typeof Error = SyntaxError,\n ): Error {\n let loc = node && (node.loc || node._loc);\n\n if (!loc && node) {\n const state: { loc?: NodeLocation[\"loc\"] | null } = {\n loc: null,\n };\n traverse(node as t.Node, errorVisitor, this.scope, state);\n loc = state.loc;\n\n let txt =\n \"This is an error on an internal node. Probably an internal error.\";\n if (loc) txt += \" Location has been estimated.\";\n\n msg += ` (${txt})`;\n }\n\n if (loc) {\n const { highlightCode = true } = this.opts;\n\n msg +=\n \"\\n\" +\n codeFrameColumns(\n this.code,\n {\n start: {\n line: loc.start.line,\n column: loc.start.column + 1,\n },\n end:\n loc.end && loc.start.line === loc.end.line\n ? {\n line: loc.end.line,\n column: loc.end.column + 1,\n }\n : undefined,\n },\n { highlightCode },\n );\n }\n\n return new _Error(msg);\n }\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["helpers","data","require","_traverse","_codeFrame","_t","_helperModuleTransforms","_semver","cloneNode","interpreterDirective","errorVisitor","enter","path","state","loc","node","stop","File","constructor","options","code","ast","inputMap","_map","Map","opts","declarations","scope","metadata","hub","file","getCode","getScope","addHelper","bind","buildError","buildCodeFrameError","NodePath","get","parentPath","parent","container","key","setContext","shebang","interpreter","value","replaceWith","remove","set","val","Error","has","getModuleName","addImport","availableHelper","name","versionRange","minVersion","err","semver","valid","intersects","declar","generator","res","ensure","uid","generateUidIdentifier","dependencies","dep","getDependencies","nodes","globals","Object","keys","getAllBindings","forEach","hasBinding","rename","_compact","unshiftContainer","indexOf","isVariableDeclaration","registerDeclaration","addTemplateObject","msg","_Error","SyntaxError","_loc","traverse","txt","highlightCode","codeFrameColumns","start","line","column","end","undefined","exports","default"],"sources":["../../../src/transformation/file/file.ts"],"sourcesContent":["import * as helpers from \"@babel/helpers\";\nimport { NodePath } from \"@babel/traverse\";\nimport type { HubInterface, Visitor, Scope } from \"@babel/traverse\";\nimport { codeFrameColumns } from \"@babel/code-frame\";\nimport traverse from \"@babel/traverse\";\nimport { cloneNode, interpreterDirective } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport { getModuleName } from \"@babel/helper-module-transforms\";\nimport semver from \"semver\";\n\nimport type { NormalizedFile } from \"../normalize-file\";\n\nconst errorVisitor: Visitor<{ loc: NodeLocation[\"loc\"] | null }> = {\n enter(path, state) {\n const loc = path.node.loc;\n if (loc) {\n state.loc = loc;\n path.stop();\n }\n },\n};\n\nexport type NodeLocation = {\n loc?: {\n end?: {\n line: number;\n column: number;\n };\n start: {\n line: number;\n column: number;\n };\n };\n _loc?: {\n end?: {\n line: number;\n column: number;\n };\n start: {\n line: number;\n column: number;\n };\n };\n};\n\nexport default class File {\n _map: Map = new Map();\n opts: { [key: string]: any };\n declarations: { [key: string]: t.Identifier } = {};\n path: NodePath;\n ast: t.File;\n scope: Scope;\n metadata: { [key: string]: any } = {};\n code: string = \"\";\n inputMap: any;\n\n hub: HubInterface & { file: File } = {\n // keep it for the usage in babel-core, ex: path.hub.file.opts.filename\n file: this,\n getCode: () => this.code,\n getScope: () => this.scope,\n addHelper: this.addHelper.bind(this),\n buildError: this.buildCodeFrameError.bind(this),\n };\n\n constructor(options: {}, { code, ast, inputMap }: NormalizedFile) {\n this.opts = options;\n this.code = code;\n this.ast = ast;\n this.inputMap = inputMap;\n\n this.path = NodePath.get({\n hub: this.hub,\n parentPath: null,\n parent: this.ast,\n container: this.ast,\n key: \"program\",\n }).setContext() as NodePath;\n this.scope = this.path.scope;\n }\n\n /**\n * Provide backward-compatible access to the interpreter directive handling\n * in Babel 6.x. If you are writing a plugin for Babel 7.x, it would be\n * best to use 'program.interpreter' directly.\n */\n get shebang(): string {\n const { interpreter } = this.path.node;\n return interpreter ? interpreter.value : \"\";\n }\n set shebang(value: string) {\n if (value) {\n this.path.get(\"interpreter\").replaceWith(interpreterDirective(value));\n } else {\n this.path.get(\"interpreter\").remove();\n }\n }\n\n set(key: unknown, val: unknown) {\n if (key === \"helpersNamespace\") {\n throw new Error(\n \"Babel 7.0.0-beta.56 has dropped support for the 'helpersNamespace' utility.\" +\n \"If you are using @babel/plugin-external-helpers you will need to use a newer \" +\n \"version than the one you currently have installed. \" +\n \"If you have your own implementation, you'll want to explore using 'helperGenerator' \" +\n \"alongside 'file.availableHelper()'.\",\n );\n }\n\n this._map.set(key, val);\n }\n\n get(key: unknown): any {\n return this._map.get(key);\n }\n\n has(key: unknown): boolean {\n return this._map.has(key);\n }\n\n getModuleName(): string | undefined | null {\n return getModuleName(this.opts, this.opts);\n }\n\n addImport() {\n throw new Error(\n \"This API has been removed. If you're looking for this \" +\n \"functionality in Babel 7, you should import the \" +\n \"'@babel/helper-module-imports' module and use the functions exposed \" +\n \" from that module, such as 'addNamed' or 'addDefault'.\",\n );\n }\n\n /**\n * Check if a given helper is available in @babel/core's helper list.\n *\n * This _also_ allows you to pass a Babel version specifically. If the\n * helper exists, but was not available for the full given range, it will be\n * considered unavailable.\n */\n availableHelper(name: string, versionRange?: string | null): boolean {\n let minVersion;\n try {\n minVersion = helpers.minVersion(name);\n } catch (err) {\n if (err.code !== \"BABEL_HELPER_UNKNOWN\") throw err;\n\n return false;\n }\n\n if (typeof versionRange !== \"string\") return true;\n\n // semver.intersects() has some surprising behavior with comparing ranges\n // with pre-release versions. We add '^' to ensure that we are always\n // comparing ranges with ranges, which sidesteps this logic.\n // For example:\n //\n // semver.intersects(`<7.0.1`, \"7.0.0-beta.0\") // false - surprising\n // semver.intersects(`<7.0.1`, \"^7.0.0-beta.0\") // true - expected\n //\n // This is because the first falls back to\n //\n // semver.satisfies(\"7.0.0-beta.0\", `<7.0.1`) // false - surprising\n //\n // and this fails because a prerelease version can only satisfy a range\n // if it is a prerelease within the same major/minor/patch range.\n //\n // Note: If this is found to have issues, please also revisit the logic in\n // transform-runtime's definitions.js file.\n if (semver.valid(versionRange)) versionRange = `^${versionRange}`;\n\n return (\n !semver.intersects(`<${minVersion}`, versionRange) &&\n !semver.intersects(`>=8.0.0`, versionRange)\n );\n }\n\n addHelper(name: string): t.Identifier {\n const declar = this.declarations[name];\n if (declar) return cloneNode(declar);\n\n const generator = this.get(\"helperGenerator\");\n if (generator) {\n const res = generator(name);\n if (res) return res;\n }\n\n // make sure that the helper exists\n helpers.ensure(name, File);\n\n const uid = (this.declarations[name] =\n this.scope.generateUidIdentifier(name));\n\n const dependencies: { [key: string]: t.Identifier } = {};\n for (const dep of helpers.getDependencies(name)) {\n dependencies[dep] = this.addHelper(dep);\n }\n\n const { nodes, globals } = helpers.get(\n name,\n dep => dependencies[dep],\n uid,\n Object.keys(this.scope.getAllBindings()),\n );\n\n globals.forEach(name => {\n if (this.path.scope.hasBinding(name, true /* noGlobals */)) {\n this.path.scope.rename(name);\n }\n });\n\n nodes.forEach(node => {\n // @ts-expect-error Fixme: document _compact node property\n node._compact = true;\n });\n\n this.path.unshiftContainer(\"body\", nodes);\n // TODO: NodePath#unshiftContainer should automatically register new\n // bindings.\n this.path.get(\"body\").forEach(path => {\n if (nodes.indexOf(path.node) === -1) return;\n if (path.isVariableDeclaration()) this.scope.registerDeclaration(path);\n });\n\n return uid;\n }\n\n addTemplateObject() {\n throw new Error(\n \"This function has been moved into the template literal transform itself.\",\n );\n }\n\n buildCodeFrameError(\n node: NodeLocation | undefined | null,\n msg: string,\n _Error: typeof Error = SyntaxError,\n ): Error {\n let loc = node && (node.loc || node._loc);\n\n if (!loc && node) {\n const state: { loc?: NodeLocation[\"loc\"] | null } = {\n loc: null,\n };\n traverse(node as t.Node, errorVisitor, this.scope, state);\n loc = state.loc;\n\n let txt =\n \"This is an error on an internal node. Probably an internal error.\";\n if (loc) txt += \" Location has been estimated.\";\n\n msg += ` (${txt})`;\n }\n\n if (loc) {\n const { highlightCode = true } = this.opts;\n\n msg +=\n \"\\n\" +\n codeFrameColumns(\n this.code,\n {\n start: {\n line: loc.start.line,\n column: loc.start.column + 1,\n },\n end:\n loc.end && loc.start.line === loc.end.line\n ? {\n line: loc.end.line,\n column: loc.end.column + 1,\n }\n : undefined,\n },\n { highlightCode },\n );\n }\n\n return new _Error(msg);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,UAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,WAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,UAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,GAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,EAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAK,wBAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,uBAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4B;EAHnBO,SAAS;EAAEC;AAAoB,IAAAJ,EAAA;AAOxC,MAAMK,YAA0D,GAAG;EACjEC,KAAKA,CAACC,IAAI,EAAEC,KAAK,EAAE;IACjB,MAAMC,GAAG,GAAGF,IAAI,CAACG,IAAI,CAACD,GAAG;IACzB,IAAIA,GAAG,EAAE;MACPD,KAAK,CAACC,GAAG,GAAGA,GAAG;MACfF,IAAI,CAACI,IAAI,CAAC,CAAC;IACb;EACF;AACF,CAAC;AAyBc,MAAMC,IAAI,CAAC;EAoBxBC,WAAWA,CAACC,OAAW,EAAE;IAAEC,IAAI;IAAEC,GAAG;IAAEC;EAAyB,CAAC,EAAE;IAAA,KAnBlEC,IAAI,GAA0B,IAAIC,GAAG,CAAC,CAAC;IAAA,KACvCC,IAAI;IAAA,KACJC,YAAY,GAAoC,CAAC,CAAC;IAAA,KAClDd,IAAI;IAAA,KACJS,GAAG;IAAA,KACHM,KAAK;IAAA,KACLC,QAAQ,GAA2B,CAAC,CAAC;IAAA,KACrCR,IAAI,GAAW,EAAE;IAAA,KACjBE,QAAQ;IAAA,KAERO,GAAG,GAAkC;MAEnCC,IAAI,EAAE,IAAI;MACVC,OAAO,EAAEA,CAAA,KAAM,IAAI,CAACX,IAAI;MACxBY,QAAQ,EAAEA,CAAA,KAAM,IAAI,CAACL,KAAK;MAC1BM,SAAS,EAAE,IAAI,CAACA,SAAS,CAACC,IAAI,CAAC,IAAI,CAAC;MACpCC,UAAU,EAAE,IAAI,CAACC,mBAAmB,CAACF,IAAI,CAAC,IAAI;IAChD,CAAC;IAGC,IAAI,CAACT,IAAI,GAAGN,OAAO;IACnB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,GAAG,GAAGA,GAAG;IACd,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IAExB,IAAI,CAACV,IAAI,GAAGyB,oBAAQ,CAACC,GAAG,CAAC;MACvBT,GAAG,EAAE,IAAI,CAACA,GAAG;MACbU,UAAU,EAAE,IAAI;MAChBC,MAAM,EAAE,IAAI,CAACnB,GAAG;MAChBoB,SAAS,EAAE,IAAI,CAACpB,GAAG;MACnBqB,GAAG,EAAE;IACP,CAAC,CAAC,CAACC,UAAU,CAAC,CAAwB;IACtC,IAAI,CAAChB,KAAK,GAAG,IAAI,CAACf,IAAI,CAACe,KAAK;EAC9B;EAOA,IAAIiB,OAAOA,CAAA,EAAW;IACpB,MAAM;MAAEC;IAAY,CAAC,GAAG,IAAI,CAACjC,IAAI,CAACG,IAAI;IACtC,OAAO8B,WAAW,GAAGA,WAAW,CAACC,KAAK,GAAG,EAAE;EAC7C;EACA,IAAIF,OAAOA,CAACE,KAAa,EAAE;IACzB,IAAIA,KAAK,EAAE;MACT,IAAI,CAAClC,IAAI,CAAC0B,GAAG,CAAC,aAAa,CAAC,CAACS,WAAW,CAACtC,oBAAoB,CAACqC,KAAK,CAAC,CAAC;IACvE,CAAC,MAAM;MACL,IAAI,CAAClC,IAAI,CAAC0B,GAAG,CAAC,aAAa,CAAC,CAACU,MAAM,CAAC,CAAC;IACvC;EACF;EAEAC,GAAGA,CAACP,GAAY,EAAEQ,GAAY,EAAE;IAC9B,IAAIR,GAAG,KAAK,kBAAkB,EAAE;MAC9B,MAAM,IAAIS,KAAK,CACb,6EAA6E,GAC3E,+EAA+E,GAC/E,qDAAqD,GACrD,sFAAsF,GACtF,qCACJ,CAAC;IACH;IAEA,IAAI,CAAC5B,IAAI,CAAC0B,GAAG,CAACP,GAAG,EAAEQ,GAAG,CAAC;EACzB;EAEAZ,GAAGA,CAACI,GAAY,EAAO;IACrB,OAAO,IAAI,CAACnB,IAAI,CAACe,GAAG,CAACI,GAAG,CAAC;EAC3B;EAEAU,GAAGA,CAACV,GAAY,EAAW;IACzB,OAAO,IAAI,CAACnB,IAAI,CAAC6B,GAAG,CAACV,GAAG,CAAC;EAC3B;EAEAW,aAAaA,CAAA,EAA8B;IACzC,OAAO,IAAAA,uCAAa,EAAC,IAAI,CAAC5B,IAAI,EAAE,IAAI,CAACA,IAAI,CAAC;EAC5C;EAEA6B,SAASA,CAAA,EAAG;IACV,MAAM,IAAIH,KAAK,CACb,wDAAwD,GACtD,kDAAkD,GAClD,sEAAsE,GACtE,wDACJ,CAAC;EACH;EASAI,eAAeA,CAACC,IAAY,EAAEC,YAA4B,EAAW;IACnE,IAAIC,UAAU;IACd,IAAI;MACFA,UAAU,GAAG1D,OAAO,CAAD,CAAC,CAAC0D,UAAU,CAACF,IAAI,CAAC;IACvC,CAAC,CAAC,OAAOG,GAAG,EAAE;MACZ,IAAIA,GAAG,CAACvC,IAAI,KAAK,sBAAsB,EAAE,MAAMuC,GAAG;MAElD,OAAO,KAAK;IACd;IAEA,IAAI,OAAOF,YAAY,KAAK,QAAQ,EAAE,OAAO,IAAI;IAmBjD,IAAIG,QAAKA,CAAC,CAACC,KAAK,CAACJ,YAAY,CAAC,EAAEA,YAAY,GAAI,IAAGA,YAAa,EAAC;IAEjE,OACE,CAACG,QAAKA,CAAC,CAACE,UAAU,CAAE,IAAGJ,UAAW,EAAC,EAAED,YAAY,CAAC,IAClD,CAACG,QAAKA,CAAC,CAACE,UAAU,CAAE,SAAQ,EAAEL,YAAY,CAAC;EAE/C;EAEAxB,SAASA,CAACuB,IAAY,EAAgB;IACpC,MAAMO,MAAM,GAAG,IAAI,CAACrC,YAAY,CAAC8B,IAAI,CAAC;IACtC,IAAIO,MAAM,EAAE,OAAOvD,SAAS,CAACuD,MAAM,CAAC;IAEpC,MAAMC,SAAS,GAAG,IAAI,CAAC1B,GAAG,CAAC,iBAAiB,CAAC;IAC7C,IAAI0B,SAAS,EAAE;MACb,MAAMC,GAAG,GAAGD,SAAS,CAACR,IAAI,CAAC;MAC3B,IAAIS,GAAG,EAAE,OAAOA,GAAG;IACrB;IAGAjE,OAAO,CAAD,CAAC,CAACkE,MAAM,CAACV,IAAI,EAAEvC,IAAI,CAAC;IAE1B,MAAMkD,GAAG,GAAI,IAAI,CAACzC,YAAY,CAAC8B,IAAI,CAAC,GAClC,IAAI,CAAC7B,KAAK,CAACyC,qBAAqB,CAACZ,IAAI,CAAE;IAEzC,MAAMa,YAA6C,GAAG,CAAC,CAAC;IACxD,KAAK,MAAMC,GAAG,IAAItE,OAAO,CAAD,CAAC,CAACuE,eAAe,CAACf,IAAI,CAAC,EAAE;MAC/Ca,YAAY,CAACC,GAAG,CAAC,GAAG,IAAI,CAACrC,SAAS,CAACqC,GAAG,CAAC;IACzC;IAEA,MAAM;MAAEE,KAAK;MAAEC;IAAQ,CAAC,GAAGzE,OAAO,CAAD,CAAC,CAACsC,GAAG,CACpCkB,IAAI,EACJc,GAAG,IAAID,YAAY,CAACC,GAAG,CAAC,EACxBH,GAAG,EACHO,MAAM,CAACC,IAAI,CAAC,IAAI,CAAChD,KAAK,CAACiD,cAAc,CAAC,CAAC,CACzC,CAAC;IAEDH,OAAO,CAACI,OAAO,CAACrB,IAAI,IAAI;MACtB,IAAI,IAAI,CAAC5C,IAAI,CAACe,KAAK,CAACmD,UAAU,CAACtB,IAAI,EAAE,IAAoB,CAAC,EAAE;QAC1D,IAAI,CAAC5C,IAAI,CAACe,KAAK,CAACoD,MAAM,CAACvB,IAAI,CAAC;MAC9B;IACF,CAAC,CAAC;IAEFgB,KAAK,CAACK,OAAO,CAAC9D,IAAI,IAAI;MAEpBA,IAAI,CAACiE,QAAQ,GAAG,IAAI;IACtB,CAAC,CAAC;IAEF,IAAI,CAACpE,IAAI,CAACqE,gBAAgB,CAAC,MAAM,EAAET,KAAK,CAAC;IAGzC,IAAI,CAAC5D,IAAI,CAAC0B,GAAG,CAAC,MAAM,CAAC,CAACuC,OAAO,CAACjE,IAAI,IAAI;MACpC,IAAI4D,KAAK,CAACU,OAAO,CAACtE,IAAI,CAACG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;MACrC,IAAIH,IAAI,CAACuE,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAACxD,KAAK,CAACyD,mBAAmB,CAACxE,IAAI,CAAC;IACxE,CAAC,CAAC;IAEF,OAAOuD,GAAG;EACZ;EAEAkB,iBAAiBA,CAAA,EAAG;IAClB,MAAM,IAAIlC,KAAK,CACb,0EACF,CAAC;EACH;EAEAf,mBAAmBA,CACjBrB,IAAqC,EACrCuE,GAAW,EACXC,MAAoB,GAAGC,WAAW,EAC3B;IACP,IAAI1E,GAAG,GAAGC,IAAI,KAAKA,IAAI,CAACD,GAAG,IAAIC,IAAI,CAAC0E,IAAI,CAAC;IAEzC,IAAI,CAAC3E,GAAG,IAAIC,IAAI,EAAE;MAChB,MAAMF,KAA2C,GAAG;QAClDC,GAAG,EAAE;MACP,CAAC;MACD,IAAA4E,mBAAQ,EAAC3E,IAAI,EAAYL,YAAY,EAAE,IAAI,CAACiB,KAAK,EAAEd,KAAK,CAAC;MACzDC,GAAG,GAAGD,KAAK,CAACC,GAAG;MAEf,IAAI6E,GAAG,GACL,mEAAmE;MACrE,IAAI7E,GAAG,EAAE6E,GAAG,IAAI,+BAA+B;MAE/CL,GAAG,IAAK,KAAIK,GAAI,GAAE;IACpB;IAEA,IAAI7E,GAAG,EAAE;MACP,MAAM;QAAE8E,aAAa,GAAG;MAAK,CAAC,GAAG,IAAI,CAACnE,IAAI;MAE1C6D,GAAG,IACD,IAAI,GACJ,IAAAO,6BAAgB,EACd,IAAI,CAACzE,IAAI,EACT;QACE0E,KAAK,EAAE;UACLC,IAAI,EAAEjF,GAAG,CAACgF,KAAK,CAACC,IAAI;UACpBC,MAAM,EAAElF,GAAG,CAACgF,KAAK,CAACE,MAAM,GAAG;QAC7B,CAAC;QACDC,GAAG,EACDnF,GAAG,CAACmF,GAAG,IAAInF,GAAG,CAACgF,KAAK,CAACC,IAAI,KAAKjF,GAAG,CAACmF,GAAG,CAACF,IAAI,GACtC;UACEA,IAAI,EAAEjF,GAAG,CAACmF,GAAG,CAACF,IAAI;UAClBC,MAAM,EAAElF,GAAG,CAACmF,GAAG,CAACD,MAAM,GAAG;QAC3B,CAAC,GACDE;MACR,CAAC,EACD;QAAEN;MAAc,CAClB,CAAC;IACL;IAEA,OAAO,IAAIL,MAAM,CAACD,GAAG,CAAC;EACxB;AACF;AAACa,OAAA,CAAAC,OAAA,GAAAnF,IAAA;AAAA"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/file/generate.js.map b/node_modules/@babel/core/lib/transformation/file/generate.js.map index a6f6e7a3e..dd5743819 100644 --- a/node_modules/@babel/core/lib/transformation/file/generate.js.map +++ b/node_modules/@babel/core/lib/transformation/file/generate.js.map @@ -1 +1 @@ -{"version":3,"names":["_convertSourceMap","data","require","_generator","_mergeMap","generateCode","pluginPasses","file","opts","ast","code","inputMap","generatorOpts","inputSourceMap","toObject","results","plugins","plugin","generatorOverride","result","generate","undefined","push","length","then","Error","outputCode","decodedMap","outputMap","map","__mergedMap","Object","assign","mergeSourceMap","sourceFileName","sourceMaps","convertSourceMap","fromObject","toComment"],"sources":["../../../src/transformation/file/generate.ts"],"sourcesContent":["import type { PluginPasses } from \"../../config\";\nimport convertSourceMap from \"convert-source-map\";\ntype SourceMap = any;\nimport generate from \"@babel/generator\";\n\nimport type File from \"./file\";\nimport mergeSourceMap from \"./merge-map\";\n\nexport default function generateCode(\n pluginPasses: PluginPasses,\n file: File,\n): {\n outputCode: string;\n outputMap: SourceMap | null;\n} {\n const { opts, ast, code, inputMap } = file;\n const { generatorOpts } = opts;\n\n generatorOpts.inputSourceMap = inputMap?.toObject();\n\n const results = [];\n for (const plugins of pluginPasses) {\n for (const plugin of plugins) {\n const { generatorOverride } = plugin;\n if (generatorOverride) {\n const result = generatorOverride(ast, generatorOpts, code, generate);\n\n if (result !== undefined) results.push(result);\n }\n }\n }\n\n let result;\n if (results.length === 0) {\n result = generate(ast, generatorOpts, code);\n } else if (results.length === 1) {\n result = results[0];\n\n if (typeof result.then === \"function\") {\n throw new Error(\n `You appear to be using an async codegen plugin, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, ` +\n `you may need to upgrade your @babel/core version.`,\n );\n }\n } else {\n throw new Error(\"More than one plugin attempted to override codegen.\");\n }\n\n // Decoded maps are faster to merge, so we attempt to get use the decodedMap\n // first. But to preserve backwards compat with older Generator, we'll fall\n // back to the encoded map.\n let { code: outputCode, decodedMap: outputMap = result.map } = result;\n\n // For backwards compat.\n if (result.__mergedMap) {\n /**\n * @see mergeSourceMap\n */\n outputMap = { ...result.map };\n } else {\n if (outputMap) {\n if (inputMap) {\n // mergeSourceMap returns an encoded map\n outputMap = mergeSourceMap(\n inputMap.toObject(),\n outputMap,\n generatorOpts.sourceFileName,\n );\n } else {\n // We cannot output a decoded map, so retrieve the encoded form. Because\n // the decoded form is free, it's fine to prioritize decoded first.\n outputMap = result.map;\n }\n }\n }\n\n if (opts.sourceMaps === \"inline\" || opts.sourceMaps === \"both\") {\n outputCode += \"\\n\" + convertSourceMap.fromObject(outputMap).toComment();\n }\n\n if (opts.sourceMaps === \"inline\") {\n outputMap = null;\n }\n\n return { outputCode, outputMap };\n}\n"],"mappings":";;;;;;AACA,SAAAA,kBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,iBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,WAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,UAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,IAAAG,SAAA,GAAAF,OAAA;AAEe,SAASG,YAAYA,CAClCC,YAA0B,EAC1BC,IAAU,EAIV;EACA,MAAM;IAAEC,IAAI;IAAEC,GAAG;IAAEC,IAAI;IAAEC;EAAS,CAAC,GAAGJ,IAAI;EAC1C,MAAM;IAAEK;EAAc,CAAC,GAAGJ,IAAI;EAE9BI,aAAa,CAACC,cAAc,GAAGF,QAAQ,oBAARA,QAAQ,CAAEG,QAAQ,EAAE;EAEnD,MAAMC,OAAO,GAAG,EAAE;EAClB,KAAK,MAAMC,OAAO,IAAIV,YAAY,EAAE;IAClC,KAAK,MAAMW,MAAM,IAAID,OAAO,EAAE;MAC5B,MAAM;QAAEE;MAAkB,CAAC,GAAGD,MAAM;MACpC,IAAIC,iBAAiB,EAAE;QACrB,MAAMC,MAAM,GAAGD,iBAAiB,CAACT,GAAG,EAAEG,aAAa,EAAEF,IAAI,EAAEU,oBAAQ,CAAC;QAEpE,IAAID,MAAM,KAAKE,SAAS,EAAEN,OAAO,CAACO,IAAI,CAACH,MAAM,CAAC;MAChD;IACF;EACF;EAEA,IAAIA,MAAM;EACV,IAAIJ,OAAO,CAACQ,MAAM,KAAK,CAAC,EAAE;IACxBJ,MAAM,GAAG,IAAAC,oBAAQ,EAACX,GAAG,EAAEG,aAAa,EAAEF,IAAI,CAAC;EAC7C,CAAC,MAAM,IAAIK,OAAO,CAACQ,MAAM,KAAK,CAAC,EAAE;IAC/BJ,MAAM,GAAGJ,OAAO,CAAC,CAAC,CAAC;IAEnB,IAAI,OAAOI,MAAM,CAACK,IAAI,KAAK,UAAU,EAAE;MACrC,MAAM,IAAIC,KAAK,CACZ,kDAAiD,GAC/C,wDAAuD,GACvD,sCAAqC,GACrC,mDAAkD,CACtD;IACH;EACF,CAAC,MAAM;IACL,MAAM,IAAIA,KAAK,CAAC,qDAAqD,CAAC;EACxE;EAKA,IAAI;IAAEf,IAAI,EAAEgB,UAAU;IAAEC,UAAU,EAAEC,SAAS,GAAGT,MAAM,CAACU;EAAI,CAAC,GAAGV,MAAM;EAGrE,IAAIA,MAAM,CAACW,WAAW,EAAE;IAItBF,SAAS,GAAAG,MAAA,CAAAC,MAAA,KAAQb,MAAM,CAACU,GAAG,CAAE;EAC/B,CAAC,MAAM;IACL,IAAID,SAAS,EAAE;MACb,IAAIjB,QAAQ,EAAE;QAEZiB,SAAS,GAAG,IAAAK,iBAAc,EACxBtB,QAAQ,CAACG,QAAQ,EAAE,EACnBc,SAAS,EACThB,aAAa,CAACsB,cAAc,CAC7B;MACH,CAAC,MAAM;QAGLN,SAAS,GAAGT,MAAM,CAACU,GAAG;MACxB;IACF;EACF;EAEA,IAAIrB,IAAI,CAAC2B,UAAU,KAAK,QAAQ,IAAI3B,IAAI,CAAC2B,UAAU,KAAK,MAAM,EAAE;IAC9DT,UAAU,IAAI,IAAI,GAAGU,mBAAgB,CAACC,UAAU,CAACT,SAAS,CAAC,CAACU,SAAS,EAAE;EACzE;EAEA,IAAI9B,IAAI,CAAC2B,UAAU,KAAK,QAAQ,EAAE;IAChCP,SAAS,GAAG,IAAI;EAClB;EAEA,OAAO;IAAEF,UAAU;IAAEE;EAAU,CAAC;AAClC;AAAC"} \ No newline at end of file +{"version":3,"names":["_convertSourceMap","data","require","_generator","_mergeMap","generateCode","pluginPasses","file","opts","ast","code","inputMap","generatorOpts","inputSourceMap","toObject","results","plugins","plugin","generatorOverride","result","generate","undefined","push","length","then","Error","outputCode","decodedMap","outputMap","map","__mergedMap","Object","assign","mergeSourceMap","sourceFileName","sourceMaps","convertSourceMap","fromObject","toComment"],"sources":["../../../src/transformation/file/generate.ts"],"sourcesContent":["import type { PluginPasses } from \"../../config\";\nimport convertSourceMap from \"convert-source-map\";\ntype SourceMap = any;\nimport generate from \"@babel/generator\";\n\nimport type File from \"./file\";\nimport mergeSourceMap from \"./merge-map\";\n\nexport default function generateCode(\n pluginPasses: PluginPasses,\n file: File,\n): {\n outputCode: string;\n outputMap: SourceMap | null;\n} {\n const { opts, ast, code, inputMap } = file;\n const { generatorOpts } = opts;\n\n generatorOpts.inputSourceMap = inputMap?.toObject();\n\n const results = [];\n for (const plugins of pluginPasses) {\n for (const plugin of plugins) {\n const { generatorOverride } = plugin;\n if (generatorOverride) {\n const result = generatorOverride(ast, generatorOpts, code, generate);\n\n if (result !== undefined) results.push(result);\n }\n }\n }\n\n let result;\n if (results.length === 0) {\n result = generate(ast, generatorOpts, code);\n } else if (results.length === 1) {\n result = results[0];\n\n if (typeof result.then === \"function\") {\n throw new Error(\n `You appear to be using an async codegen plugin, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, ` +\n `you may need to upgrade your @babel/core version.`,\n );\n }\n } else {\n throw new Error(\"More than one plugin attempted to override codegen.\");\n }\n\n // Decoded maps are faster to merge, so we attempt to get use the decodedMap\n // first. But to preserve backwards compat with older Generator, we'll fall\n // back to the encoded map.\n let { code: outputCode, decodedMap: outputMap = result.map } = result;\n\n // For backwards compat.\n if (result.__mergedMap) {\n /**\n * @see mergeSourceMap\n */\n outputMap = { ...result.map };\n } else {\n if (outputMap) {\n if (inputMap) {\n // mergeSourceMap returns an encoded map\n outputMap = mergeSourceMap(\n inputMap.toObject(),\n outputMap,\n generatorOpts.sourceFileName,\n );\n } else {\n // We cannot output a decoded map, so retrieve the encoded form. Because\n // the decoded form is free, it's fine to prioritize decoded first.\n outputMap = result.map;\n }\n }\n }\n\n if (opts.sourceMaps === \"inline\" || opts.sourceMaps === \"both\") {\n outputCode += \"\\n\" + convertSourceMap.fromObject(outputMap).toComment();\n }\n\n if (opts.sourceMaps === \"inline\") {\n outputMap = null;\n }\n\n return { outputCode, outputMap };\n}\n"],"mappings":";;;;;;AACA,SAAAA,kBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,iBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,WAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,UAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,IAAAG,SAAA,GAAAF,OAAA;AAEe,SAASG,YAAYA,CAClCC,YAA0B,EAC1BC,IAAU,EAIV;EACA,MAAM;IAAEC,IAAI;IAAEC,GAAG;IAAEC,IAAI;IAAEC;EAAS,CAAC,GAAGJ,IAAI;EAC1C,MAAM;IAAEK;EAAc,CAAC,GAAGJ,IAAI;EAE9BI,aAAa,CAACC,cAAc,GAAGF,QAAQ,oBAARA,QAAQ,CAAEG,QAAQ,CAAC,CAAC;EAEnD,MAAMC,OAAO,GAAG,EAAE;EAClB,KAAK,MAAMC,OAAO,IAAIV,YAAY,EAAE;IAClC,KAAK,MAAMW,MAAM,IAAID,OAAO,EAAE;MAC5B,MAAM;QAAEE;MAAkB,CAAC,GAAGD,MAAM;MACpC,IAAIC,iBAAiB,EAAE;QACrB,MAAMC,MAAM,GAAGD,iBAAiB,CAACT,GAAG,EAAEG,aAAa,EAAEF,IAAI,EAAEU,oBAAQ,CAAC;QAEpE,IAAID,MAAM,KAAKE,SAAS,EAAEN,OAAO,CAACO,IAAI,CAACH,MAAM,CAAC;MAChD;IACF;EACF;EAEA,IAAIA,MAAM;EACV,IAAIJ,OAAO,CAACQ,MAAM,KAAK,CAAC,EAAE;IACxBJ,MAAM,GAAG,IAAAC,oBAAQ,EAACX,GAAG,EAAEG,aAAa,EAAEF,IAAI,CAAC;EAC7C,CAAC,MAAM,IAAIK,OAAO,CAACQ,MAAM,KAAK,CAAC,EAAE;IAC/BJ,MAAM,GAAGJ,OAAO,CAAC,CAAC,CAAC;IAEnB,IAAI,OAAOI,MAAM,CAACK,IAAI,KAAK,UAAU,EAAE;MACrC,MAAM,IAAIC,KAAK,CACZ,kDAAiD,GAC/C,wDAAuD,GACvD,sCAAqC,GACrC,mDACL,CAAC;IACH;EACF,CAAC,MAAM;IACL,MAAM,IAAIA,KAAK,CAAC,qDAAqD,CAAC;EACxE;EAKA,IAAI;IAAEf,IAAI,EAAEgB,UAAU;IAAEC,UAAU,EAAEC,SAAS,GAAGT,MAAM,CAACU;EAAI,CAAC,GAAGV,MAAM;EAGrE,IAAIA,MAAM,CAACW,WAAW,EAAE;IAItBF,SAAS,GAAAG,MAAA,CAAAC,MAAA,KAAQb,MAAM,CAACU,GAAG,CAAE;EAC/B,CAAC,MAAM;IACL,IAAID,SAAS,EAAE;MACb,IAAIjB,QAAQ,EAAE;QAEZiB,SAAS,GAAG,IAAAK,iBAAc,EACxBtB,QAAQ,CAACG,QAAQ,CAAC,CAAC,EACnBc,SAAS,EACThB,aAAa,CAACsB,cAChB,CAAC;MACH,CAAC,MAAM;QAGLN,SAAS,GAAGT,MAAM,CAACU,GAAG;MACxB;IACF;EACF;EAEA,IAAIrB,IAAI,CAAC2B,UAAU,KAAK,QAAQ,IAAI3B,IAAI,CAAC2B,UAAU,KAAK,MAAM,EAAE;IAC9DT,UAAU,IAAI,IAAI,GAAGU,kBAAeA,CAAC,CAACC,UAAU,CAACT,SAAS,CAAC,CAACU,SAAS,CAAC,CAAC;EACzE;EAEA,IAAI9B,IAAI,CAAC2B,UAAU,KAAK,QAAQ,EAAE;IAChCP,SAAS,GAAG,IAAI;EAClB;EAEA,OAAO;IAAEF,UAAU;IAAEE;EAAU,CAAC;AAClC;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/file/merge-map.js.map b/node_modules/@babel/core/lib/transformation/file/merge-map.js.map index 6eb511f16..d2877a3f3 100644 --- a/node_modules/@babel/core/lib/transformation/file/merge-map.js.map +++ b/node_modules/@babel/core/lib/transformation/file/merge-map.js.map @@ -1 +1 @@ -{"version":3,"names":["_remapping","data","require","mergeSourceMap","inputMap","map","sourceFileName","source","replace","found","result","remapping","rootless","s","ctx","sourceRoot","Object","assign"],"sources":["../../../src/transformation/file/merge-map.ts"],"sourcesContent":["type SourceMap = any;\nimport remapping from \"@ampproject/remapping\";\n\nexport default function mergeSourceMap(\n inputMap: SourceMap,\n map: SourceMap,\n sourceFileName: string,\n): SourceMap {\n // On win32 machines, the sourceFileName uses backslash paths like\n // `C:\\foo\\bar.js`. But sourcemaps are always posix paths, so we need to\n // normalize to regular slashes before we can merge (else we won't find the\n // source associated with our input map).\n // This mirrors code done while generating the output map at\n // https://github.com/babel/babel/blob/5c2fcadc9ae34fd20dd72b1111d5cf50476d700d/packages/babel-generator/src/source-map.ts#L102\n const source = sourceFileName.replace(/\\\\/g, \"/\");\n\n // Prevent an infinite recursion if one of the input map's sources has the\n // same resolved path as the input map. In the case, it would keep find the\n // input map, then get it's sources which will include a path like the input\n // map, on and on.\n let found = false;\n const result = remapping(rootless(map), (s, ctx) => {\n if (s === source && !found) {\n found = true;\n // We empty the source location, which will prevent the sourcemap from\n // becoming relative to the input's location. Eg, if we're transforming a\n // file 'foo/bar.js', and it is a transformation of a `baz.js` file in the\n // same directory, the expected output is just `baz.js`. Without this step,\n // it would become `foo/baz.js`.\n ctx.source = \"\";\n\n return rootless(inputMap);\n }\n\n return null;\n });\n\n if (typeof inputMap.sourceRoot === \"string\") {\n result.sourceRoot = inputMap.sourceRoot;\n }\n\n // remapping returns a SourceMap class type, but this breaks code downstream in\n // @babel/traverse and @babel/types that relies on data being plain objects.\n // When it encounters the sourcemap type it outputs a \"don't know how to turn\n // this value into a node\" error. As a result, we are converting the merged\n // sourcemap to a plain js object.\n return { ...result };\n}\n\nfunction rootless(map: SourceMap): SourceMap {\n return {\n ...map,\n\n // This is a bit hack. Remapping will create absolute sources in our\n // sourcemap, but we want to maintain sources relative to the sourceRoot.\n // We'll re-add the sourceRoot after remapping.\n sourceRoot: null,\n };\n}\n"],"mappings":";;;;;;AACA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEe,SAASE,cAAcA,CACpCC,QAAmB,EACnBC,GAAc,EACdC,cAAsB,EACX;EAOX,MAAMC,MAAM,GAAGD,cAAc,CAACE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;EAMjD,IAAIC,KAAK,GAAG,KAAK;EACjB,MAAMC,MAAM,GAAGC,YAAS,CAACC,QAAQ,CAACP,GAAG,CAAC,EAAE,CAACQ,CAAC,EAAEC,GAAG,KAAK;IAClD,IAAID,CAAC,KAAKN,MAAM,IAAI,CAACE,KAAK,EAAE;MAC1BA,KAAK,GAAG,IAAI;MAMZK,GAAG,CAACP,MAAM,GAAG,EAAE;MAEf,OAAOK,QAAQ,CAACR,QAAQ,CAAC;IAC3B;IAEA,OAAO,IAAI;EACb,CAAC,CAAC;EAEF,IAAI,OAAOA,QAAQ,CAACW,UAAU,KAAK,QAAQ,EAAE;IAC3CL,MAAM,CAACK,UAAU,GAAGX,QAAQ,CAACW,UAAU;EACzC;EAOA,OAAAC,MAAA,CAAAC,MAAA,KAAYP,MAAM;AACpB;AAEA,SAASE,QAAQA,CAACP,GAAc,EAAa;EAC3C,OAAAW,MAAA,CAAAC,MAAA,KACKZ,GAAG;IAKNU,UAAU,EAAE;EAAI;AAEpB;AAAC"} \ No newline at end of file +{"version":3,"names":["_remapping","data","require","mergeSourceMap","inputMap","map","sourceFileName","source","replace","found","result","remapping","rootless","s","ctx","sourceRoot","Object","assign"],"sources":["../../../src/transformation/file/merge-map.ts"],"sourcesContent":["type SourceMap = any;\nimport remapping from \"@ampproject/remapping\";\n\nexport default function mergeSourceMap(\n inputMap: SourceMap,\n map: SourceMap,\n sourceFileName: string,\n): SourceMap {\n // On win32 machines, the sourceFileName uses backslash paths like\n // `C:\\foo\\bar.js`. But sourcemaps are always posix paths, so we need to\n // normalize to regular slashes before we can merge (else we won't find the\n // source associated with our input map).\n // This mirrors code done while generating the output map at\n // https://github.com/babel/babel/blob/5c2fcadc9ae34fd20dd72b1111d5cf50476d700d/packages/babel-generator/src/source-map.ts#L102\n const source = sourceFileName.replace(/\\\\/g, \"/\");\n\n // Prevent an infinite recursion if one of the input map's sources has the\n // same resolved path as the input map. In the case, it would keep find the\n // input map, then get it's sources which will include a path like the input\n // map, on and on.\n let found = false;\n const result = remapping(rootless(map), (s, ctx) => {\n if (s === source && !found) {\n found = true;\n // We empty the source location, which will prevent the sourcemap from\n // becoming relative to the input's location. Eg, if we're transforming a\n // file 'foo/bar.js', and it is a transformation of a `baz.js` file in the\n // same directory, the expected output is just `baz.js`. Without this step,\n // it would become `foo/baz.js`.\n ctx.source = \"\";\n\n return rootless(inputMap);\n }\n\n return null;\n });\n\n if (typeof inputMap.sourceRoot === \"string\") {\n result.sourceRoot = inputMap.sourceRoot;\n }\n\n // remapping returns a SourceMap class type, but this breaks code downstream in\n // @babel/traverse and @babel/types that relies on data being plain objects.\n // When it encounters the sourcemap type it outputs a \"don't know how to turn\n // this value into a node\" error. As a result, we are converting the merged\n // sourcemap to a plain js object.\n return { ...result };\n}\n\nfunction rootless(map: SourceMap): SourceMap {\n return {\n ...map,\n\n // This is a bit hack. Remapping will create absolute sources in our\n // sourcemap, but we want to maintain sources relative to the sourceRoot.\n // We'll re-add the sourceRoot after remapping.\n sourceRoot: null,\n };\n}\n"],"mappings":";;;;;;AACA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEe,SAASE,cAAcA,CACpCC,QAAmB,EACnBC,GAAc,EACdC,cAAsB,EACX;EAOX,MAAMC,MAAM,GAAGD,cAAc,CAACE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;EAMjD,IAAIC,KAAK,GAAG,KAAK;EACjB,MAAMC,MAAM,GAAGC,WAAQA,CAAC,CAACC,QAAQ,CAACP,GAAG,CAAC,EAAE,CAACQ,CAAC,EAAEC,GAAG,KAAK;IAClD,IAAID,CAAC,KAAKN,MAAM,IAAI,CAACE,KAAK,EAAE;MAC1BA,KAAK,GAAG,IAAI;MAMZK,GAAG,CAACP,MAAM,GAAG,EAAE;MAEf,OAAOK,QAAQ,CAACR,QAAQ,CAAC;IAC3B;IAEA,OAAO,IAAI;EACb,CAAC,CAAC;EAEF,IAAI,OAAOA,QAAQ,CAACW,UAAU,KAAK,QAAQ,EAAE;IAC3CL,MAAM,CAACK,UAAU,GAAGX,QAAQ,CAACW,UAAU;EACzC;EAOA,OAAAC,MAAA,CAAAC,MAAA,KAAYP,MAAM;AACpB;AAEA,SAASE,QAAQA,CAACP,GAAc,EAAa;EAC3C,OAAAW,MAAA,CAAAC,MAAA,KACKZ,GAAG;IAKNU,UAAU,EAAE;EAAI;AAEpB;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/index.js.map b/node_modules/@babel/core/lib/transformation/index.js.map index ba856a709..455b80f1c 100644 --- a/node_modules/@babel/core/lib/transformation/index.js.map +++ b/node_modules/@babel/core/lib/transformation/index.js.map @@ -1 +1 @@ -{"version":3,"names":["_traverse","data","require","_pluginPass","_blockHoistPlugin","_normalizeOpts","_normalizeFile","_generate","_deepArray","run","config","code","ast","file","normalizeFile","passes","normalizeOptions","opts","transformFile","e","_opts$filename","message","filename","outputCode","outputMap","generateCode","_opts$filename2","metadata","options","undefined","map","sourceType","program","externalDependencies","flattenToSet","pluginPasses","pluginPairs","passPairs","visitors","plugin","concat","loadBlockHoistPlugin","pass","PluginPass","key","push","visitor","fn","pre","result","call","isThenable","Error","traverse","merge","wrapPluginVisitorMethod","scope","post","val","then"],"sources":["../../src/transformation/index.ts"],"sourcesContent":["import traverse from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\ntype SourceMap = any;\nimport type { Handler } from \"gensync\";\n\nimport type { ResolvedConfig, Plugin, PluginPasses } from \"../config\";\n\nimport PluginPass from \"./plugin-pass\";\nimport loadBlockHoistPlugin from \"./block-hoist-plugin\";\nimport normalizeOptions from \"./normalize-opts\";\nimport normalizeFile from \"./normalize-file\";\n\nimport generateCode from \"./file/generate\";\nimport type File from \"./file/file\";\n\nimport { flattenToSet } from \"../config/helpers/deep-array\";\n\nexport type FileResultCallback = {\n (err: Error, file: null): void;\n (err: null, file: FileResult | null): void;\n};\n\nexport type FileResult = {\n metadata: { [key: string]: any };\n options: { [key: string]: any };\n ast: t.File | null;\n code: string | null;\n map: SourceMap | null;\n sourceType: \"script\" | \"module\";\n externalDependencies: Set;\n};\n\nexport function* run(\n config: ResolvedConfig,\n code: string,\n ast?: t.File | t.Program | null,\n): Handler {\n const file = yield* normalizeFile(\n config.passes,\n normalizeOptions(config),\n code,\n ast,\n );\n\n const opts = file.opts;\n try {\n yield* transformFile(file, config.passes);\n } catch (e) {\n e.message = `${opts.filename ?? \"unknown file\"}: ${e.message}`;\n if (!e.code) {\n e.code = \"BABEL_TRANSFORM_ERROR\";\n }\n throw e;\n }\n\n let outputCode, outputMap;\n try {\n if (opts.code !== false) {\n ({ outputCode, outputMap } = generateCode(config.passes, file));\n }\n } catch (e) {\n e.message = `${opts.filename ?? \"unknown file\"}: ${e.message}`;\n if (!e.code) {\n e.code = \"BABEL_GENERATE_ERROR\";\n }\n throw e;\n }\n\n return {\n metadata: file.metadata,\n options: opts,\n ast: opts.ast === true ? file.ast : null,\n code: outputCode === undefined ? null : outputCode,\n map: outputMap === undefined ? null : outputMap,\n sourceType: file.ast.program.sourceType,\n externalDependencies: flattenToSet(config.externalDependencies),\n };\n}\n\nfunction* transformFile(file: File, pluginPasses: PluginPasses): Handler {\n for (const pluginPairs of pluginPasses) {\n const passPairs: [Plugin, PluginPass][] = [];\n const passes = [];\n const visitors = [];\n\n for (const plugin of pluginPairs.concat([loadBlockHoistPlugin()])) {\n const pass = new PluginPass(file, plugin.key, plugin.options);\n\n passPairs.push([plugin, pass]);\n passes.push(pass);\n visitors.push(plugin.visitor);\n }\n\n for (const [plugin, pass] of passPairs) {\n const fn = plugin.pre;\n if (fn) {\n // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n const result = fn.call(pass, file);\n\n // @ts-expect-error - If we want to support async .pre\n yield* [];\n\n if (isThenable(result)) {\n throw new Error(\n `You appear to be using an plugin with an async .pre, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, you may need to upgrade ` +\n `your @babel/core version.`,\n );\n }\n }\n }\n\n // merge all plugin visitors into a single visitor\n const visitor = traverse.visitors.merge(\n visitors,\n passes,\n file.opts.wrapPluginVisitorMethod,\n );\n traverse(file.ast, visitor, file.scope);\n\n for (const [plugin, pass] of passPairs) {\n const fn = plugin.post;\n if (fn) {\n // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n const result = fn.call(pass, file);\n\n // @ts-expect-error - If we want to support async .post\n yield* [];\n\n if (isThenable(result)) {\n throw new Error(\n `You appear to be using an plugin with an async .post, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, you may need to upgrade ` +\n `your @babel/core version.`,\n );\n }\n }\n }\n }\n}\n\nfunction isThenable>(val: any): val is T {\n return (\n !!val &&\n (typeof val === \"object\" || typeof val === \"function\") &&\n !!val.then &&\n typeof val.then === \"function\"\n );\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_traverse","data","require","_pluginPass","_blockHoistPlugin","_normalizeOpts","_normalizeFile","_generate","_deepArray","run","config","code","ast","file","normalizeFile","passes","normalizeOptions","opts","transformFile","e","_opts$filename","message","filename","outputCode","outputMap","generateCode","_opts$filename2","metadata","options","undefined","map","sourceType","program","externalDependencies","flattenToSet","pluginPasses","pluginPairs","passPairs","visitors","plugin","concat","loadBlockHoistPlugin","pass","PluginPass","key","push","visitor","fn","pre","result","call","isThenable","Error","traverse","merge","wrapPluginVisitorMethod","scope","post","val","then"],"sources":["../../src/transformation/index.ts"],"sourcesContent":["import traverse from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\ntype SourceMap = any;\nimport type { Handler } from \"gensync\";\n\nimport type { ResolvedConfig, Plugin, PluginPasses } from \"../config\";\n\nimport PluginPass from \"./plugin-pass\";\nimport loadBlockHoistPlugin from \"./block-hoist-plugin\";\nimport normalizeOptions from \"./normalize-opts\";\nimport normalizeFile from \"./normalize-file\";\n\nimport generateCode from \"./file/generate\";\nimport type File from \"./file/file\";\n\nimport { flattenToSet } from \"../config/helpers/deep-array\";\n\nexport type FileResultCallback = {\n (err: Error, file: null): void;\n (err: null, file: FileResult | null): void;\n};\n\nexport type FileResult = {\n metadata: { [key: string]: any };\n options: { [key: string]: any };\n ast: t.File | null;\n code: string | null;\n map: SourceMap | null;\n sourceType: \"script\" | \"module\";\n externalDependencies: Set;\n};\n\nexport function* run(\n config: ResolvedConfig,\n code: string,\n ast?: t.File | t.Program | null,\n): Handler {\n const file = yield* normalizeFile(\n config.passes,\n normalizeOptions(config),\n code,\n ast,\n );\n\n const opts = file.opts;\n try {\n yield* transformFile(file, config.passes);\n } catch (e) {\n e.message = `${opts.filename ?? \"unknown file\"}: ${e.message}`;\n if (!e.code) {\n e.code = \"BABEL_TRANSFORM_ERROR\";\n }\n throw e;\n }\n\n let outputCode, outputMap;\n try {\n if (opts.code !== false) {\n ({ outputCode, outputMap } = generateCode(config.passes, file));\n }\n } catch (e) {\n e.message = `${opts.filename ?? \"unknown file\"}: ${e.message}`;\n if (!e.code) {\n e.code = \"BABEL_GENERATE_ERROR\";\n }\n throw e;\n }\n\n return {\n metadata: file.metadata,\n options: opts,\n ast: opts.ast === true ? file.ast : null,\n code: outputCode === undefined ? null : outputCode,\n map: outputMap === undefined ? null : outputMap,\n sourceType: file.ast.program.sourceType,\n externalDependencies: flattenToSet(config.externalDependencies),\n };\n}\n\nfunction* transformFile(file: File, pluginPasses: PluginPasses): Handler {\n for (const pluginPairs of pluginPasses) {\n const passPairs: [Plugin, PluginPass][] = [];\n const passes = [];\n const visitors = [];\n\n for (const plugin of pluginPairs.concat([loadBlockHoistPlugin()])) {\n const pass = new PluginPass(file, plugin.key, plugin.options);\n\n passPairs.push([plugin, pass]);\n passes.push(pass);\n visitors.push(plugin.visitor);\n }\n\n for (const [plugin, pass] of passPairs) {\n const fn = plugin.pre;\n if (fn) {\n // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n const result = fn.call(pass, file);\n\n // @ts-expect-error - If we want to support async .pre\n yield* [];\n\n if (isThenable(result)) {\n throw new Error(\n `You appear to be using an plugin with an async .pre, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, you may need to upgrade ` +\n `your @babel/core version.`,\n );\n }\n }\n }\n\n // merge all plugin visitors into a single visitor\n const visitor = traverse.visitors.merge(\n visitors,\n passes,\n file.opts.wrapPluginVisitorMethod,\n );\n traverse(file.ast, visitor, file.scope);\n\n for (const [plugin, pass] of passPairs) {\n const fn = plugin.post;\n if (fn) {\n // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n const result = fn.call(pass, file);\n\n // @ts-expect-error - If we want to support async .post\n yield* [];\n\n if (isThenable(result)) {\n throw new Error(\n `You appear to be using an plugin with an async .post, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, you may need to upgrade ` +\n `your @babel/core version.`,\n );\n }\n }\n }\n }\n}\n\nfunction isThenable>(val: any): val is T {\n return (\n !!val &&\n (typeof val === \"object\" || typeof val === \"function\") &&\n !!val.then &&\n typeof val.then === \"function\"\n );\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/normalize-file.js.map b/node_modules/@babel/core/lib/transformation/normalize-file.js.map index 07259b34b..8798b31b3 100644 --- a/node_modules/@babel/core/lib/transformation/normalize-file.js.map +++ b/node_modules/@babel/core/lib/transformation/normalize-file.js.map @@ -1 +1 @@ -{"version":3,"names":["_fs","data","require","_path","_debug","_t","_convertSourceMap","_file","_parser","_cloneDeep","file","traverseFast","debug","buildDebug","INLINE_SOURCEMAP_REGEX","EXTERNAL_SOURCEMAP_REGEX","normalizeFile","pluginPasses","options","code","ast","type","Error","cloneInputAst","cloneDeep","parser","inputMap","inputSourceMap","convertSourceMap","fromObject","lastComment","extractComments","fromComment","err","filename","match","exec","inputMapContent","fs","readFileSync","path","resolve","dirname","fromJSON","File","extractCommentsFromList","regex","comments","filter","value","test","node","leadingComments","innerComments","trailingComments"],"sources":["../../src/transformation/normalize-file.ts"],"sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\nimport buildDebug from \"debug\";\nimport type { Handler } from \"gensync\";\nimport { file, traverseFast } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type { PluginPasses } from \"../config\";\nimport convertSourceMap from \"convert-source-map\";\nimport type { SourceMapConverter as Converter } from \"convert-source-map\";\nimport File from \"./file/file\";\nimport parser from \"../parser\";\nimport cloneDeep from \"./util/clone-deep\";\n\nconst debug = buildDebug(\"babel:transform:file\");\n\n// These regexps are copied from the convert-source-map package,\n// but without // or /* at the beginning of the comment.\n\n// eslint-disable-next-line max-len\nconst INLINE_SOURCEMAP_REGEX =\n /^[@#]\\s+sourceMappingURL=data:(?:application|text)\\/json;(?:charset[:=]\\S+?;)?base64,(?:.*)$/;\nconst EXTERNAL_SOURCEMAP_REGEX =\n /^[@#][ \\t]+sourceMappingURL=([^\\s'\"`]+)[ \\t]*$/;\n\nexport type NormalizedFile = {\n code: string;\n ast: t.File;\n inputMap: Converter | null;\n};\n\nexport default function* normalizeFile(\n pluginPasses: PluginPasses,\n options: { [key: string]: any },\n code: string,\n ast?: t.File | t.Program | null,\n): Handler {\n code = `${code || \"\"}`;\n\n if (ast) {\n if (ast.type === \"Program\") {\n ast = file(ast, [], []);\n } else if (ast.type !== \"File\") {\n throw new Error(\"AST root must be a Program or File node\");\n }\n\n if (options.cloneInputAst) {\n ast = cloneDeep(ast);\n }\n } else {\n // @ts-expect-error todo: use babel-types ast typings in Babel parser\n ast = yield* parser(pluginPasses, options, code);\n }\n\n let inputMap = null;\n if (options.inputSourceMap !== false) {\n // If an explicit object is passed in, it overrides the processing of\n // source maps that may be in the file itself.\n if (typeof options.inputSourceMap === \"object\") {\n inputMap = convertSourceMap.fromObject(options.inputSourceMap);\n }\n\n if (!inputMap) {\n const lastComment = extractComments(INLINE_SOURCEMAP_REGEX, ast);\n if (lastComment) {\n try {\n inputMap = convertSourceMap.fromComment(lastComment);\n } catch (err) {\n debug(\"discarding unknown inline input sourcemap\", err);\n }\n }\n }\n\n if (!inputMap) {\n const lastComment = extractComments(EXTERNAL_SOURCEMAP_REGEX, ast);\n if (typeof options.filename === \"string\" && lastComment) {\n try {\n // when `lastComment` is non-null, EXTERNAL_SOURCEMAP_REGEX must have matches\n const match: [string, string] = EXTERNAL_SOURCEMAP_REGEX.exec(\n lastComment,\n ) as any;\n const inputMapContent = fs.readFileSync(\n path.resolve(path.dirname(options.filename), match[1]),\n \"utf8\",\n );\n inputMap = convertSourceMap.fromJSON(inputMapContent);\n } catch (err) {\n debug(\"discarding unknown file input sourcemap\", err);\n }\n } else if (lastComment) {\n debug(\"discarding un-loadable file input sourcemap\");\n }\n }\n }\n\n return new File(options, {\n code,\n ast: ast as t.File,\n inputMap,\n });\n}\n\nfunction extractCommentsFromList(\n regex: RegExp,\n comments: t.Comment[],\n lastComment: string | null,\n): [t.Comment[], string | null] {\n if (comments) {\n comments = comments.filter(({ value }) => {\n if (regex.test(value)) {\n lastComment = value;\n return false;\n }\n return true;\n });\n }\n return [comments, lastComment];\n}\n\nfunction extractComments(regex: RegExp, ast: t.Node) {\n let lastComment: string = null;\n traverseFast(ast, node => {\n [node.leadingComments, lastComment] = extractCommentsFromList(\n regex,\n node.leadingComments,\n lastComment,\n );\n [node.innerComments, lastComment] = extractCommentsFromList(\n regex,\n node.innerComments,\n lastComment,\n );\n [node.trailingComments, lastComment] = extractCommentsFromList(\n regex,\n node.trailingComments,\n lastComment,\n );\n });\n return lastComment;\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_fs","data","require","_path","_debug","_t","_convertSourceMap","_file","_parser","_cloneDeep","file","traverseFast","debug","buildDebug","INLINE_SOURCEMAP_REGEX","EXTERNAL_SOURCEMAP_REGEX","normalizeFile","pluginPasses","options","code","ast","type","Error","cloneInputAst","cloneDeep","parser","inputMap","inputSourceMap","convertSourceMap","fromObject","lastComment","extractComments","fromComment","err","filename","match","exec","inputMapContent","fs","readFileSync","path","resolve","dirname","fromJSON","File","extractCommentsFromList","regex","comments","filter","value","test","node","leadingComments","innerComments","trailingComments"],"sources":["../../src/transformation/normalize-file.ts"],"sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\nimport buildDebug from \"debug\";\nimport type { Handler } from \"gensync\";\nimport { file, traverseFast } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type { PluginPasses } from \"../config\";\nimport convertSourceMap from \"convert-source-map\";\nimport type { SourceMapConverter as Converter } from \"convert-source-map\";\nimport File from \"./file/file\";\nimport parser from \"../parser\";\nimport cloneDeep from \"./util/clone-deep\";\n\nconst debug = buildDebug(\"babel:transform:file\");\n\n// These regexps are copied from the convert-source-map package,\n// but without // or /* at the beginning of the comment.\n\n// eslint-disable-next-line max-len\nconst INLINE_SOURCEMAP_REGEX =\n /^[@#]\\s+sourceMappingURL=data:(?:application|text)\\/json;(?:charset[:=]\\S+?;)?base64,(?:.*)$/;\nconst EXTERNAL_SOURCEMAP_REGEX =\n /^[@#][ \\t]+sourceMappingURL=([^\\s'\"`]+)[ \\t]*$/;\n\nexport type NormalizedFile = {\n code: string;\n ast: t.File;\n inputMap: Converter | null;\n};\n\nexport default function* normalizeFile(\n pluginPasses: PluginPasses,\n options: { [key: string]: any },\n code: string,\n ast?: t.File | t.Program | null,\n): Handler {\n code = `${code || \"\"}`;\n\n if (ast) {\n if (ast.type === \"Program\") {\n ast = file(ast, [], []);\n } else if (ast.type !== \"File\") {\n throw new Error(\"AST root must be a Program or File node\");\n }\n\n if (options.cloneInputAst) {\n ast = cloneDeep(ast);\n }\n } else {\n // @ts-expect-error todo: use babel-types ast typings in Babel parser\n ast = yield* parser(pluginPasses, options, code);\n }\n\n let inputMap = null;\n if (options.inputSourceMap !== false) {\n // If an explicit object is passed in, it overrides the processing of\n // source maps that may be in the file itself.\n if (typeof options.inputSourceMap === \"object\") {\n inputMap = convertSourceMap.fromObject(options.inputSourceMap);\n }\n\n if (!inputMap) {\n const lastComment = extractComments(INLINE_SOURCEMAP_REGEX, ast);\n if (lastComment) {\n try {\n inputMap = convertSourceMap.fromComment(lastComment);\n } catch (err) {\n debug(\"discarding unknown inline input sourcemap\", err);\n }\n }\n }\n\n if (!inputMap) {\n const lastComment = extractComments(EXTERNAL_SOURCEMAP_REGEX, ast);\n if (typeof options.filename === \"string\" && lastComment) {\n try {\n // when `lastComment` is non-null, EXTERNAL_SOURCEMAP_REGEX must have matches\n const match: [string, string] = EXTERNAL_SOURCEMAP_REGEX.exec(\n lastComment,\n ) as any;\n const inputMapContent = fs.readFileSync(\n path.resolve(path.dirname(options.filename), match[1]),\n \"utf8\",\n );\n inputMap = convertSourceMap.fromJSON(inputMapContent);\n } catch (err) {\n debug(\"discarding unknown file input sourcemap\", err);\n }\n } else if (lastComment) {\n debug(\"discarding un-loadable file input sourcemap\");\n }\n }\n }\n\n return new File(options, {\n code,\n ast: ast as t.File,\n inputMap,\n });\n}\n\nfunction extractCommentsFromList(\n regex: RegExp,\n comments: t.Comment[],\n lastComment: string | null,\n): [t.Comment[], string | null] {\n if (comments) {\n comments = comments.filter(({ value }) => {\n if (regex.test(value)) {\n lastComment = value;\n return false;\n }\n return true;\n });\n }\n return [comments, lastComment];\n}\n\nfunction extractComments(regex: RegExp, ast: t.Node) {\n let lastComment: string = null;\n traverseFast(ast, node => {\n [node.leadingComments, lastComment] = extractCommentsFromList(\n regex,\n node.leadingComments,\n lastComment,\n );\n [node.innerComments, lastComment] = extractCommentsFromList(\n regex,\n node.innerComments,\n lastComment,\n );\n [node.trailingComments, lastComment] = extractCommentsFromList(\n regex,\n node.trailingComments,\n lastComment,\n );\n });\n return lastComment;\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/normalize-opts.js.map b/node_modules/@babel/core/lib/transformation/normalize-opts.js.map index 7cbad00bb..53ded5381 100644 --- a/node_modules/@babel/core/lib/transformation/normalize-opts.js.map +++ b/node_modules/@babel/core/lib/transformation/normalize-opts.js.map @@ -1 +1 @@ -{"version":3,"names":["_path","data","require","normalizeOptions","config","filename","cwd","filenameRelative","path","relative","sourceType","inputSourceMap","sourceMaps","sourceRoot","options","moduleRoot","sourceFileName","basename","comments","compact","opts","Object","assign","parserOpts","extname","plugins","generatorOpts","auxiliaryCommentBefore","auxiliaryCommentAfter","retainLines","shouldPrintComment","minified","passes","plugin","manipulateOptions"],"sources":["../../src/transformation/normalize-opts.ts"],"sourcesContent":["import path from \"path\";\nimport type { ResolvedConfig } from \"../config\";\n\nexport default function normalizeOptions(config: ResolvedConfig): {} {\n const {\n filename,\n cwd,\n filenameRelative = typeof filename === \"string\"\n ? path.relative(cwd, filename)\n : \"unknown\",\n sourceType = \"module\",\n inputSourceMap,\n sourceMaps = !!inputSourceMap,\n sourceRoot = process.env.BABEL_8_BREAKING\n ? undefined\n : config.options.moduleRoot,\n\n sourceFileName = path.basename(filenameRelative),\n\n comments = true,\n compact = \"auto\",\n } = config.options;\n\n const opts = config.options;\n\n const options = {\n ...opts,\n\n parserOpts: {\n sourceType:\n path.extname(filenameRelative) === \".mjs\" ? \"module\" : sourceType,\n\n sourceFileName: filename,\n plugins: [],\n ...opts.parserOpts,\n },\n\n generatorOpts: {\n // General generator flags.\n filename,\n\n auxiliaryCommentBefore: opts.auxiliaryCommentBefore,\n auxiliaryCommentAfter: opts.auxiliaryCommentAfter,\n retainLines: opts.retainLines,\n comments,\n shouldPrintComment: opts.shouldPrintComment,\n compact,\n minified: opts.minified,\n\n // Source-map generation flags.\n sourceMaps,\n\n sourceRoot,\n sourceFileName,\n ...opts.generatorOpts,\n },\n };\n\n for (const plugins of config.passes) {\n for (const plugin of plugins) {\n if (plugin.manipulateOptions) {\n plugin.manipulateOptions(options, options.parserOpts);\n }\n }\n }\n\n return options;\n}\n"],"mappings":";;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGe,SAASE,gBAAgBA,CAACC,MAAsB,EAAM;EACnE,MAAM;IACJC,QAAQ;IACRC,GAAG;IACHC,gBAAgB,GAAG,OAAOF,QAAQ,KAAK,QAAQ,GAC3CG,OAAI,CAACC,QAAQ,CAACH,GAAG,EAAED,QAAQ,CAAC,GAC5B,SAAS;IACbK,UAAU,GAAG,QAAQ;IACrBC,cAAc;IACdC,UAAU,GAAG,CAAC,CAACD,cAAc;IAC7BE,UAAU,GAENT,MAAM,CAACU,OAAO,CAACC,UAAU;IAE7BC,cAAc,GAAGR,OAAI,CAACS,QAAQ,CAACV,gBAAgB,CAAC;IAEhDW,QAAQ,GAAG,IAAI;IACfC,OAAO,GAAG;EACZ,CAAC,GAAGf,MAAM,CAACU,OAAO;EAElB,MAAMM,IAAI,GAAGhB,MAAM,CAACU,OAAO;EAE3B,MAAMA,OAAO,GAAAO,MAAA,CAAAC,MAAA,KACRF,IAAI;IAEPG,UAAU,EAAAF,MAAA,CAAAC,MAAA;MACRZ,UAAU,EACRF,OAAI,CAACgB,OAAO,CAACjB,gBAAgB,CAAC,KAAK,MAAM,GAAG,QAAQ,GAAGG,UAAU;MAEnEM,cAAc,EAAEX,QAAQ;MACxBoB,OAAO,EAAE;IAAE,GACRL,IAAI,CAACG,UAAU,CACnB;IAEDG,aAAa,EAAAL,MAAA,CAAAC,MAAA;MAEXjB,QAAQ;MAERsB,sBAAsB,EAAEP,IAAI,CAACO,sBAAsB;MACnDC,qBAAqB,EAAER,IAAI,CAACQ,qBAAqB;MACjDC,WAAW,EAAET,IAAI,CAACS,WAAW;MAC7BX,QAAQ;MACRY,kBAAkB,EAAEV,IAAI,CAACU,kBAAkB;MAC3CX,OAAO;MACPY,QAAQ,EAAEX,IAAI,CAACW,QAAQ;MAGvBnB,UAAU;MAEVC,UAAU;MACVG;IAAc,GACXI,IAAI,CAACM,aAAa;EACtB,EACF;EAED,KAAK,MAAMD,OAAO,IAAIrB,MAAM,CAAC4B,MAAM,EAAE;IACnC,KAAK,MAAMC,MAAM,IAAIR,OAAO,EAAE;MAC5B,IAAIQ,MAAM,CAACC,iBAAiB,EAAE;QAC5BD,MAAM,CAACC,iBAAiB,CAACpB,OAAO,EAAEA,OAAO,CAACS,UAAU,CAAC;MACvD;IACF;EACF;EAEA,OAAOT,OAAO;AAChB;AAAC"} \ No newline at end of file +{"version":3,"names":["_path","data","require","normalizeOptions","config","filename","cwd","filenameRelative","path","relative","sourceType","inputSourceMap","sourceMaps","sourceRoot","options","moduleRoot","sourceFileName","basename","comments","compact","opts","Object","assign","parserOpts","extname","plugins","generatorOpts","auxiliaryCommentBefore","auxiliaryCommentAfter","retainLines","shouldPrintComment","minified","passes","plugin","manipulateOptions"],"sources":["../../src/transformation/normalize-opts.ts"],"sourcesContent":["import path from \"path\";\nimport type { ResolvedConfig } from \"../config\";\n\nexport default function normalizeOptions(config: ResolvedConfig): {} {\n const {\n filename,\n cwd,\n filenameRelative = typeof filename === \"string\"\n ? path.relative(cwd, filename)\n : \"unknown\",\n sourceType = \"module\",\n inputSourceMap,\n sourceMaps = !!inputSourceMap,\n sourceRoot = process.env.BABEL_8_BREAKING\n ? undefined\n : config.options.moduleRoot,\n\n sourceFileName = path.basename(filenameRelative),\n\n comments = true,\n compact = \"auto\",\n } = config.options;\n\n const opts = config.options;\n\n const options = {\n ...opts,\n\n parserOpts: {\n sourceType:\n path.extname(filenameRelative) === \".mjs\" ? \"module\" : sourceType,\n\n sourceFileName: filename,\n plugins: [],\n ...opts.parserOpts,\n },\n\n generatorOpts: {\n // General generator flags.\n filename,\n\n auxiliaryCommentBefore: opts.auxiliaryCommentBefore,\n auxiliaryCommentAfter: opts.auxiliaryCommentAfter,\n retainLines: opts.retainLines,\n comments,\n shouldPrintComment: opts.shouldPrintComment,\n compact,\n minified: opts.minified,\n\n // Source-map generation flags.\n sourceMaps,\n\n sourceRoot,\n sourceFileName,\n ...opts.generatorOpts,\n },\n };\n\n for (const plugins of config.passes) {\n for (const plugin of plugins) {\n if (plugin.manipulateOptions) {\n plugin.manipulateOptions(options, options.parserOpts);\n }\n }\n }\n\n return options;\n}\n"],"mappings":";;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGe,SAASE,gBAAgBA,CAACC,MAAsB,EAAM;EACnE,MAAM;IACJC,QAAQ;IACRC,GAAG;IACHC,gBAAgB,GAAG,OAAOF,QAAQ,KAAK,QAAQ,GAC3CG,MAAGA,CAAC,CAACC,QAAQ,CAACH,GAAG,EAAED,QAAQ,CAAC,GAC5B,SAAS;IACbK,UAAU,GAAG,QAAQ;IACrBC,cAAc;IACdC,UAAU,GAAG,CAAC,CAACD,cAAc;IAC7BE,UAAU,GAENT,MAAM,CAACU,OAAO,CAACC,UAAU;IAE7BC,cAAc,GAAGR,MAAGA,CAAC,CAACS,QAAQ,CAACV,gBAAgB,CAAC;IAEhDW,QAAQ,GAAG,IAAI;IACfC,OAAO,GAAG;EACZ,CAAC,GAAGf,MAAM,CAACU,OAAO;EAElB,MAAMM,IAAI,GAAGhB,MAAM,CAACU,OAAO;EAE3B,MAAMA,OAAO,GAAAO,MAAA,CAAAC,MAAA,KACRF,IAAI;IAEPG,UAAU,EAAAF,MAAA,CAAAC,MAAA;MACRZ,UAAU,EACRF,MAAGA,CAAC,CAACgB,OAAO,CAACjB,gBAAgB,CAAC,KAAK,MAAM,GAAG,QAAQ,GAAGG,UAAU;MAEnEM,cAAc,EAAEX,QAAQ;MACxBoB,OAAO,EAAE;IAAE,GACRL,IAAI,CAACG,UAAU,CACnB;IAEDG,aAAa,EAAAL,MAAA,CAAAC,MAAA;MAEXjB,QAAQ;MAERsB,sBAAsB,EAAEP,IAAI,CAACO,sBAAsB;MACnDC,qBAAqB,EAAER,IAAI,CAACQ,qBAAqB;MACjDC,WAAW,EAAET,IAAI,CAACS,WAAW;MAC7BX,QAAQ;MACRY,kBAAkB,EAAEV,IAAI,CAACU,kBAAkB;MAC3CX,OAAO;MACPY,QAAQ,EAAEX,IAAI,CAACW,QAAQ;MAGvBnB,UAAU;MAEVC,UAAU;MACVG;IAAc,GACXI,IAAI,CAACM,aAAa;EACtB,EACF;EAED,KAAK,MAAMD,OAAO,IAAIrB,MAAM,CAAC4B,MAAM,EAAE;IACnC,KAAK,MAAMC,MAAM,IAAIR,OAAO,EAAE;MAC5B,IAAIQ,MAAM,CAACC,iBAAiB,EAAE;QAC5BD,MAAM,CAACC,iBAAiB,CAACpB,OAAO,EAAEA,OAAO,CAACS,UAAU,CAAC;MACvD;IACF;EACF;EAEA,OAAOT,OAAO;AAChB;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/plugin-pass.js b/node_modules/@babel/core/lib/transformation/plugin-pass.js index 15ef510e1..e39c88542 100644 --- a/node_modules/@babel/core/lib/transformation/plugin-pass.js +++ b/node_modules/@babel/core/lib/transformation/plugin-pass.js @@ -30,9 +30,6 @@ class PluginPass { addHelper(name) { return this.file.addHelper(name); } - addImport() { - this.file.addImport(); - } buildCodeFrameError(node, msg, _Error) { return this.file.buildCodeFrameError(node, msg, _Error); } @@ -42,6 +39,9 @@ exports.default = PluginPass; PluginPass.prototype.getModuleName = function getModuleName() { return this.file.getModuleName(); }; + PluginPass.prototype.addImport = function addImport() { + this.file.addImport(); + }; } 0 && 0; diff --git a/node_modules/@babel/core/lib/transformation/plugin-pass.js.map b/node_modules/@babel/core/lib/transformation/plugin-pass.js.map index 54d5ebb05..5d19a7429 100644 --- a/node_modules/@babel/core/lib/transformation/plugin-pass.js.map +++ b/node_modules/@babel/core/lib/transformation/plugin-pass.js.map @@ -1 +1 @@ -{"version":3,"names":["PluginPass","constructor","file","key","options","_map","Map","opts","cwd","filename","set","val","get","availableHelper","name","versionRange","addHelper","addImport","buildCodeFrameError","node","msg","_Error","exports","default","prototype","getModuleName"],"sources":["../../src/transformation/plugin-pass.ts"],"sourcesContent":["import type File from \"./file/file\";\nimport type { NodeLocation } from \"./file/file\";\n\nexport default class PluginPass {\n _map: Map = new Map();\n key: string | undefined | null;\n file: File;\n opts: any;\n\n // The working directory that Babel's programmatic options are loaded\n // relative to.\n cwd: string;\n\n // The absolute path of the file being compiled.\n filename: string | void;\n\n constructor(file: File, key?: string | null, options?: any | null) {\n this.key = key;\n this.file = file;\n this.opts = options || {};\n this.cwd = file.opts.cwd;\n this.filename = file.opts.filename;\n }\n\n set(key: unknown, val: unknown) {\n this._map.set(key, val);\n }\n\n get(key: unknown): any {\n return this._map.get(key);\n }\n\n availableHelper(name: string, versionRange?: string | null) {\n return this.file.availableHelper(name, versionRange);\n }\n\n addHelper(name: string) {\n return this.file.addHelper(name);\n }\n\n // TODO: Remove this in Babel 8\n addImport() {\n this.file.addImport();\n }\n\n buildCodeFrameError(\n node: NodeLocation | undefined | null,\n msg: string,\n _Error?: typeof Error,\n ) {\n return this.file.buildCodeFrameError(node, msg, _Error);\n }\n}\n\nif (!process.env.BABEL_8_BREAKING) {\n (PluginPass as any).prototype.getModuleName = function getModuleName():\n | string\n | undefined {\n return this.file.getModuleName();\n };\n}\n"],"mappings":";;;;;;AAGe,MAAMA,UAAU,CAAC;EAa9BC,WAAWA,CAACC,IAAU,EAAEC,GAAmB,EAAEC,OAAoB,EAAE;IAAA,KAZnEC,IAAI,GAA0B,IAAIC,GAAG,EAAE;IAAA,KACvCH,GAAG;IAAA,KACHD,IAAI;IAAA,KACJK,IAAI;IAAA,KAIJC,GAAG;IAAA,KAGHC,QAAQ;IAGN,IAAI,CAACN,GAAG,GAAGA,GAAG;IACd,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACK,IAAI,GAAGH,OAAO,IAAI,CAAC,CAAC;IACzB,IAAI,CAACI,GAAG,GAAGN,IAAI,CAACK,IAAI,CAACC,GAAG;IACxB,IAAI,CAACC,QAAQ,GAAGP,IAAI,CAACK,IAAI,CAACE,QAAQ;EACpC;EAEAC,GAAGA,CAACP,GAAY,EAAEQ,GAAY,EAAE;IAC9B,IAAI,CAACN,IAAI,CAACK,GAAG,CAACP,GAAG,EAAEQ,GAAG,CAAC;EACzB;EAEAC,GAAGA,CAACT,GAAY,EAAO;IACrB,OAAO,IAAI,CAACE,IAAI,CAACO,GAAG,CAACT,GAAG,CAAC;EAC3B;EAEAU,eAAeA,CAACC,IAAY,EAAEC,YAA4B,EAAE;IAC1D,OAAO,IAAI,CAACb,IAAI,CAACW,eAAe,CAACC,IAAI,EAAEC,YAAY,CAAC;EACtD;EAEAC,SAASA,CAACF,IAAY,EAAE;IACtB,OAAO,IAAI,CAACZ,IAAI,CAACc,SAAS,CAACF,IAAI,CAAC;EAClC;EAGAG,SAASA,CAAA,EAAG;IACV,IAAI,CAACf,IAAI,CAACe,SAAS,EAAE;EACvB;EAEAC,mBAAmBA,CACjBC,IAAqC,EACrCC,GAAW,EACXC,MAAqB,EACrB;IACA,OAAO,IAAI,CAACnB,IAAI,CAACgB,mBAAmB,CAACC,IAAI,EAAEC,GAAG,EAAEC,MAAM,CAAC;EACzD;AACF;AAACC,OAAA,CAAAC,OAAA,GAAAvB,UAAA;AAEkC;EAChCA,UAAU,CAASwB,SAAS,CAACC,aAAa,GAAG,SAASA,aAAaA,CAAA,EAEtD;IACZ,OAAO,IAAI,CAACvB,IAAI,CAACuB,aAAa,EAAE;EAClC,CAAC;AACH;AAAC"} \ No newline at end of file +{"version":3,"names":["PluginPass","constructor","file","key","options","_map","Map","opts","cwd","filename","set","val","get","availableHelper","name","versionRange","addHelper","buildCodeFrameError","node","msg","_Error","exports","default","prototype","getModuleName","addImport"],"sources":["../../src/transformation/plugin-pass.ts"],"sourcesContent":["import type File from \"./file/file\";\nimport type { NodeLocation } from \"./file/file\";\n\nexport default class PluginPass {\n _map: Map = new Map();\n key: string | undefined | null;\n file: File;\n opts: any;\n\n // The working directory that Babel's programmatic options are loaded\n // relative to.\n cwd: string;\n\n // The absolute path of the file being compiled.\n filename: string | void;\n\n constructor(file: File, key?: string | null, options?: any | null) {\n this.key = key;\n this.file = file;\n this.opts = options || {};\n this.cwd = file.opts.cwd;\n this.filename = file.opts.filename;\n }\n\n set(key: unknown, val: unknown) {\n this._map.set(key, val);\n }\n\n get(key: unknown): any {\n return this._map.get(key);\n }\n\n availableHelper(name: string, versionRange?: string | null) {\n return this.file.availableHelper(name, versionRange);\n }\n\n addHelper(name: string) {\n return this.file.addHelper(name);\n }\n\n buildCodeFrameError(\n node: NodeLocation | undefined | null,\n msg: string,\n _Error?: typeof Error,\n ) {\n return this.file.buildCodeFrameError(node, msg, _Error);\n }\n}\n\nif (!process.env.BABEL_8_BREAKING) {\n (PluginPass as any).prototype.getModuleName = function getModuleName(\n this: PluginPass,\n ): string | undefined {\n return this.file.getModuleName();\n };\n (PluginPass as any).prototype.addImport = function addImport(\n this: PluginPass,\n ): void {\n this.file.addImport();\n };\n}\n"],"mappings":";;;;;;AAGe,MAAMA,UAAU,CAAC;EAa9BC,WAAWA,CAACC,IAAU,EAAEC,GAAmB,EAAEC,OAAoB,EAAE;IAAA,KAZnEC,IAAI,GAA0B,IAAIC,GAAG,CAAC,CAAC;IAAA,KACvCH,GAAG;IAAA,KACHD,IAAI;IAAA,KACJK,IAAI;IAAA,KAIJC,GAAG;IAAA,KAGHC,QAAQ;IAGN,IAAI,CAACN,GAAG,GAAGA,GAAG;IACd,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACK,IAAI,GAAGH,OAAO,IAAI,CAAC,CAAC;IACzB,IAAI,CAACI,GAAG,GAAGN,IAAI,CAACK,IAAI,CAACC,GAAG;IACxB,IAAI,CAACC,QAAQ,GAAGP,IAAI,CAACK,IAAI,CAACE,QAAQ;EACpC;EAEAC,GAAGA,CAACP,GAAY,EAAEQ,GAAY,EAAE;IAC9B,IAAI,CAACN,IAAI,CAACK,GAAG,CAACP,GAAG,EAAEQ,GAAG,CAAC;EACzB;EAEAC,GAAGA,CAACT,GAAY,EAAO;IACrB,OAAO,IAAI,CAACE,IAAI,CAACO,GAAG,CAACT,GAAG,CAAC;EAC3B;EAEAU,eAAeA,CAACC,IAAY,EAAEC,YAA4B,EAAE;IAC1D,OAAO,IAAI,CAACb,IAAI,CAACW,eAAe,CAACC,IAAI,EAAEC,YAAY,CAAC;EACtD;EAEAC,SAASA,CAACF,IAAY,EAAE;IACtB,OAAO,IAAI,CAACZ,IAAI,CAACc,SAAS,CAACF,IAAI,CAAC;EAClC;EAEAG,mBAAmBA,CACjBC,IAAqC,EACrCC,GAAW,EACXC,MAAqB,EACrB;IACA,OAAO,IAAI,CAAClB,IAAI,CAACe,mBAAmB,CAACC,IAAI,EAAEC,GAAG,EAAEC,MAAM,CAAC;EACzD;AACF;AAACC,OAAA,CAAAC,OAAA,GAAAtB,UAAA;AAEkC;EAChCA,UAAU,CAASuB,SAAS,CAACC,aAAa,GAAG,SAASA,aAAaA,CAAA,EAE9C;IACpB,OAAO,IAAI,CAACtB,IAAI,CAACsB,aAAa,CAAC,CAAC;EAClC,CAAC;EACAxB,UAAU,CAASuB,SAAS,CAACE,SAAS,GAAG,SAASA,SAASA,CAAA,EAEpD;IACN,IAAI,CAACvB,IAAI,CAACuB,SAAS,CAAC,CAAC;EACvB,CAAC;AACH;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/transformation/util/clone-deep.js.map b/node_modules/@babel/core/lib/transformation/util/clone-deep.js.map index ecf8953d1..a36bb6dac 100644 --- a/node_modules/@babel/core/lib/transformation/util/clone-deep.js.map +++ b/node_modules/@babel/core/lib/transformation/util/clone-deep.js.map @@ -1 +1 @@ -{"version":3,"names":["deepClone","value","cache","has","get","cloned","Array","isArray","length","set","i","keys","Object","key","_default","Map"],"sources":["../../../src/transformation/util/clone-deep.ts"],"sourcesContent":["//https://github.com/babel/babel/pull/14583#discussion_r882828856\nfunction deepClone(value: any, cache: Map): any {\n if (value !== null) {\n if (cache.has(value)) return cache.get(value);\n let cloned: any;\n if (Array.isArray(value)) {\n cloned = new Array(value.length);\n cache.set(value, cloned);\n for (let i = 0; i < value.length; i++) {\n cloned[i] =\n typeof value[i] !== \"object\" ? value[i] : deepClone(value[i], cache);\n }\n } else {\n cloned = {};\n cache.set(value, cloned);\n const keys = Object.keys(value);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n cloned[key] =\n typeof value[key] !== \"object\"\n ? value[key]\n : deepClone(value[key], cache);\n }\n }\n return cloned;\n }\n return value;\n}\n\nexport default function (value: T): T {\n if (typeof value !== \"object\") return value;\n return deepClone(value, new Map());\n}\n"],"mappings":";;;;;;AACA,SAASA,SAASA,CAACC,KAAU,EAAEC,KAAoB,EAAO;EACxD,IAAID,KAAK,KAAK,IAAI,EAAE;IAClB,IAAIC,KAAK,CAACC,GAAG,CAACF,KAAK,CAAC,EAAE,OAAOC,KAAK,CAACE,GAAG,CAACH,KAAK,CAAC;IAC7C,IAAII,MAAW;IACf,IAAIC,KAAK,CAACC,OAAO,CAACN,KAAK,CAAC,EAAE;MACxBI,MAAM,GAAG,IAAIC,KAAK,CAACL,KAAK,CAACO,MAAM,CAAC;MAChCN,KAAK,CAACO,GAAG,CAACR,KAAK,EAAEI,MAAM,CAAC;MACxB,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGT,KAAK,CAACO,MAAM,EAAEE,CAAC,EAAE,EAAE;QACrCL,MAAM,CAACK,CAAC,CAAC,GACP,OAAOT,KAAK,CAACS,CAAC,CAAC,KAAK,QAAQ,GAAGT,KAAK,CAACS,CAAC,CAAC,GAAGV,SAAS,CAACC,KAAK,CAACS,CAAC,CAAC,EAAER,KAAK,CAAC;MACxE;IACF,CAAC,MAAM;MACLG,MAAM,GAAG,CAAC,CAAC;MACXH,KAAK,CAACO,GAAG,CAACR,KAAK,EAAEI,MAAM,CAAC;MACxB,MAAMM,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACV,KAAK,CAAC;MAC/B,KAAK,IAAIS,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,IAAI,CAACH,MAAM,EAAEE,CAAC,EAAE,EAAE;QACpC,MAAMG,GAAG,GAAGF,IAAI,CAACD,CAAC,CAAC;QACnBL,MAAM,CAACQ,GAAG,CAAC,GACT,OAAOZ,KAAK,CAACY,GAAG,CAAC,KAAK,QAAQ,GAC1BZ,KAAK,CAACY,GAAG,CAAC,GACVb,SAAS,CAACC,KAAK,CAACY,GAAG,CAAC,EAAEX,KAAK,CAAC;MACpC;IACF;IACA,OAAOG,MAAM;EACf;EACA,OAAOJ,KAAK;AACd;AAEe,SAAAa,SAAab,KAAQ,EAAK;EACvC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAOA,KAAK;EAC3C,OAAOD,SAAS,CAACC,KAAK,EAAE,IAAIc,GAAG,EAAE,CAAC;AACpC;AAAC"} \ No newline at end of file +{"version":3,"names":["deepClone","value","cache","has","get","cloned","Array","isArray","length","set","i","keys","Object","key","_default","Map"],"sources":["../../../src/transformation/util/clone-deep.ts"],"sourcesContent":["//https://github.com/babel/babel/pull/14583#discussion_r882828856\nfunction deepClone(value: any, cache: Map): any {\n if (value !== null) {\n if (cache.has(value)) return cache.get(value);\n let cloned: any;\n if (Array.isArray(value)) {\n cloned = new Array(value.length);\n cache.set(value, cloned);\n for (let i = 0; i < value.length; i++) {\n cloned[i] =\n typeof value[i] !== \"object\" ? value[i] : deepClone(value[i], cache);\n }\n } else {\n cloned = {};\n cache.set(value, cloned);\n const keys = Object.keys(value);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n cloned[key] =\n typeof value[key] !== \"object\"\n ? value[key]\n : deepClone(value[key], cache);\n }\n }\n return cloned;\n }\n return value;\n}\n\nexport default function (value: T): T {\n if (typeof value !== \"object\") return value;\n return deepClone(value, new Map());\n}\n"],"mappings":";;;;;;AACA,SAASA,SAASA,CAACC,KAAU,EAAEC,KAAoB,EAAO;EACxD,IAAID,KAAK,KAAK,IAAI,EAAE;IAClB,IAAIC,KAAK,CAACC,GAAG,CAACF,KAAK,CAAC,EAAE,OAAOC,KAAK,CAACE,GAAG,CAACH,KAAK,CAAC;IAC7C,IAAII,MAAW;IACf,IAAIC,KAAK,CAACC,OAAO,CAACN,KAAK,CAAC,EAAE;MACxBI,MAAM,GAAG,IAAIC,KAAK,CAACL,KAAK,CAACO,MAAM,CAAC;MAChCN,KAAK,CAACO,GAAG,CAACR,KAAK,EAAEI,MAAM,CAAC;MACxB,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGT,KAAK,CAACO,MAAM,EAAEE,CAAC,EAAE,EAAE;QACrCL,MAAM,CAACK,CAAC,CAAC,GACP,OAAOT,KAAK,CAACS,CAAC,CAAC,KAAK,QAAQ,GAAGT,KAAK,CAACS,CAAC,CAAC,GAAGV,SAAS,CAACC,KAAK,CAACS,CAAC,CAAC,EAAER,KAAK,CAAC;MACxE;IACF,CAAC,MAAM;MACLG,MAAM,GAAG,CAAC,CAAC;MACXH,KAAK,CAACO,GAAG,CAACR,KAAK,EAAEI,MAAM,CAAC;MACxB,MAAMM,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACV,KAAK,CAAC;MAC/B,KAAK,IAAIS,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,IAAI,CAACH,MAAM,EAAEE,CAAC,EAAE,EAAE;QACpC,MAAMG,GAAG,GAAGF,IAAI,CAACD,CAAC,CAAC;QACnBL,MAAM,CAACQ,GAAG,CAAC,GACT,OAAOZ,KAAK,CAACY,GAAG,CAAC,KAAK,QAAQ,GAC1BZ,KAAK,CAACY,GAAG,CAAC,GACVb,SAAS,CAACC,KAAK,CAACY,GAAG,CAAC,EAAEX,KAAK,CAAC;MACpC;IACF;IACA,OAAOG,MAAM;EACf;EACA,OAAOJ,KAAK;AACd;AAEe,SAAAa,SAAab,KAAQ,EAAK;EACvC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAOA,KAAK;EAC3C,OAAOD,SAAS,CAACC,KAAK,EAAE,IAAIc,GAAG,CAAC,CAAC,CAAC;AACpC;AAAC"} \ No newline at end of file diff --git a/node_modules/@babel/core/lib/vendor/import-meta-resolve.js b/node_modules/@babel/core/lib/vendor/import-meta-resolve.js index 818b47f47..52d209759 100644 --- a/node_modules/@babel/core/lib/vendor/import-meta-resolve.js +++ b/node_modules/@babel/core/lib/vendor/import-meta-resolve.js @@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", { }); exports.moduleResolve = moduleResolve; exports.resolve = resolve; -function _url() { - const data = require("url"); - _url = function () { +function _assert() { + const data = require("assert"); + _assert = function () { return data; }; return data; @@ -19,2156 +19,114 @@ function _fs() { }; return data; } -function _path() { - const data = require("path"); - _path = function () { +function _process() { + const data = require("process"); + _process = function () { return data; }; return data; } -function _assert() { - const data = require("assert"); - _assert = function () { +function _url() { + const data = require("url"); + _url = function () { return data; }; return data; } -function _util() { - const data = require("util"); - _util = function () { +function _path() { + const data = require("path"); + _path = function () { return data; }; return data; } -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } -function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } -var re$3 = { - exports: {} -}; -const SEMVER_SPEC_VERSION = '2.0.0'; -const MAX_LENGTH$2 = 256; -const MAX_SAFE_INTEGER$1 = Number.MAX_SAFE_INTEGER || 9007199254740991; -const MAX_SAFE_COMPONENT_LENGTH = 16; -var constants = { - SEMVER_SPEC_VERSION, - MAX_LENGTH: MAX_LENGTH$2, - MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$1, - MAX_SAFE_COMPONENT_LENGTH -}; -const debug$1 = typeof process === 'object' && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error('SEMVER', ...args) : () => {}; -var debug_1 = debug$1; -(function (module, exports) { - const { - MAX_SAFE_COMPONENT_LENGTH - } = constants; - const debug = debug_1; - exports = module.exports = {}; - const re = exports.re = []; - const src = exports.src = []; - const t = exports.t = {}; - let R = 0; - const createToken = (name, value, isGlobal) => { - const index = R++; - debug(name, index, value); - t[name] = index; - src[index] = value; - re[index] = new RegExp(value, isGlobal ? 'g' : undefined); - }; - createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*'); - createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+'); - createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*'); - createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` + `(${src[t.NUMERICIDENTIFIER]})\\.` + `(${src[t.NUMERICIDENTIFIER]})`); - createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})`); - createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`); - createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`); - createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`); - createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`); - createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+'); - createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`); - createToken('FULLPLAIN', `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`); - createToken('FULL', `^${src[t.FULLPLAIN]}$`); - createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`); - createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`); - createToken('GTLT', '((?:<|>)?=?)'); - createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`); - createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`); - createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?` + `)?)?`); - createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?` + `)?)?`); - createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`); - createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`); - createToken('COERCE', `${'(^|[^\\d])' + '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + `(?:$|[^\\d])`); - createToken('COERCERTL', src[t.COERCE], true); - createToken('LONETILDE', '(?:~>?)'); - createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true); - exports.tildeTrimReplace = '$1~'; - createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`); - createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`); - createToken('LONECARET', '(?:\\^)'); - createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true); - exports.caretTrimReplace = '$1^'; - createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`); - createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`); - createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`); - createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`); - createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true); - exports.comparatorTrimReplace = '$1$2$3'; - createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` + `\\s+-\\s+` + `(${src[t.XRANGEPLAIN]})` + `\\s*$`); - createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + `\\s+-\\s+` + `(${src[t.XRANGEPLAINLOOSE]})` + `\\s*$`); - createToken('STAR', '(<|>)?=?\\s*\\*'); - createToken('GTE0', '^\\s*>=\\s*0\\.0\\.0\\s*$'); - createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$'); -})(re$3, re$3.exports); -const opts = ['includePrerelease', 'loose', 'rtl']; -const parseOptions$2 = options => !options ? {} : typeof options !== 'object' ? { - loose: true -} : opts.filter(k => options[k]).reduce((o, k) => { - o[k] = true; - return o; -}, {}); -var parseOptions_1 = parseOptions$2; -const numeric = /^[0-9]+$/; -const compareIdentifiers$1 = (a, b) => { - const anum = numeric.test(a); - const bnum = numeric.test(b); - if (anum && bnum) { - a = +a; - b = +b; - } - return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1; -}; -const rcompareIdentifiers = (a, b) => compareIdentifiers$1(b, a); -var identifiers = { - compareIdentifiers: compareIdentifiers$1, - rcompareIdentifiers -}; -const debug = debug_1; -const { - MAX_LENGTH: MAX_LENGTH$1, - MAX_SAFE_INTEGER -} = constants; -const { - re: re$2, - t: t$2 -} = re$3.exports; -const parseOptions$1 = parseOptions_1; -const { - compareIdentifiers -} = identifiers; -class SemVer$c { - constructor(version, options) { - options = parseOptions$1(options); - if (version instanceof SemVer$c) { - if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) { - return version; - } else { - version = version.version; - } - } else if (typeof version !== 'string') { - throw new TypeError(`Invalid Version: ${version}`); - } - if (version.length > MAX_LENGTH$1) { - throw new TypeError(`version is longer than ${MAX_LENGTH$1} characters`); - } - debug('SemVer', version, options); - this.options = options; - this.loose = !!options.loose; - this.includePrerelease = !!options.includePrerelease; - const m = version.trim().match(options.loose ? re$2[t$2.LOOSE] : re$2[t$2.FULL]); - if (!m) { - throw new TypeError(`Invalid Version: ${version}`); - } - this.raw = version; - this.major = +m[1]; - this.minor = +m[2]; - this.patch = +m[3]; - if (this.major > MAX_SAFE_INTEGER || this.major < 0) { - throw new TypeError('Invalid major version'); - } - if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { - throw new TypeError('Invalid minor version'); - } - if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { - throw new TypeError('Invalid patch version'); - } - if (!m[4]) { - this.prerelease = []; - } else { - this.prerelease = m[4].split('.').map(id => { - if (/^[0-9]+$/.test(id)) { - const num = +id; - if (num >= 0 && num < MAX_SAFE_INTEGER) { - return num; - } - } - return id; - }); - } - this.build = m[5] ? m[5].split('.') : []; - this.format(); - } - format() { - this.version = `${this.major}.${this.minor}.${this.patch}`; - if (this.prerelease.length) { - this.version += `-${this.prerelease.join('.')}`; - } - return this.version; - } - toString() { - return this.version; - } - compare(other) { - debug('SemVer.compare', this.version, this.options, other); - if (!(other instanceof SemVer$c)) { - if (typeof other === 'string' && other === this.version) { - return 0; - } - other = new SemVer$c(other, this.options); - } - if (other.version === this.version) { - return 0; - } - return this.compareMain(other) || this.comparePre(other); - } - compareMain(other) { - if (!(other instanceof SemVer$c)) { - other = new SemVer$c(other, this.options); - } - return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch); - } - comparePre(other) { - if (!(other instanceof SemVer$c)) { - other = new SemVer$c(other, this.options); - } - if (this.prerelease.length && !other.prerelease.length) { - return -1; - } else if (!this.prerelease.length && other.prerelease.length) { - return 1; - } else if (!this.prerelease.length && !other.prerelease.length) { - return 0; - } - let i = 0; - do { - const a = this.prerelease[i]; - const b = other.prerelease[i]; - debug('prerelease compare', i, a, b); - if (a === undefined && b === undefined) { - return 0; - } else if (b === undefined) { - return 1; - } else if (a === undefined) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers(a, b); - } - } while (++i); - } - compareBuild(other) { - if (!(other instanceof SemVer$c)) { - other = new SemVer$c(other, this.options); - } - let i = 0; - do { - const a = this.build[i]; - const b = other.build[i]; - debug('prerelease compare', i, a, b); - if (a === undefined && b === undefined) { - return 0; - } else if (b === undefined) { - return 1; - } else if (a === undefined) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers(a, b); - } - } while (++i); - } - inc(release, identifier) { - switch (release) { - case 'premajor': - this.prerelease.length = 0; - this.patch = 0; - this.minor = 0; - this.major++; - this.inc('pre', identifier); - break; - case 'preminor': - this.prerelease.length = 0; - this.patch = 0; - this.minor++; - this.inc('pre', identifier); - break; - case 'prepatch': - this.prerelease.length = 0; - this.inc('patch', identifier); - this.inc('pre', identifier); - break; - case 'prerelease': - if (this.prerelease.length === 0) { - this.inc('patch', identifier); - } - this.inc('pre', identifier); - break; - case 'major': - if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) { - this.major++; - } - this.minor = 0; - this.patch = 0; - this.prerelease = []; - break; - case 'minor': - if (this.patch !== 0 || this.prerelease.length === 0) { - this.minor++; - } - this.patch = 0; - this.prerelease = []; - break; - case 'patch': - if (this.prerelease.length === 0) { - this.patch++; - } - this.prerelease = []; - break; - case 'pre': - if (this.prerelease.length === 0) { - this.prerelease = [0]; - } else { - let i = this.prerelease.length; - while (--i >= 0) { - if (typeof this.prerelease[i] === 'number') { - this.prerelease[i]++; - i = -2; - } - } - if (i === -1) { - this.prerelease.push(0); - } - } - if (identifier) { - if (compareIdentifiers(this.prerelease[0], identifier) === 0) { - if (isNaN(this.prerelease[1])) { - this.prerelease = [identifier, 0]; - } - } else { - this.prerelease = [identifier, 0]; - } - } - break; - default: - throw new Error(`invalid increment argument: ${release}`); - } - this.format(); - this.raw = this.version; - return this; - } -} -var semver$2 = SemVer$c; -const { - MAX_LENGTH -} = constants; -const { - re: re$1, - t: t$1 -} = re$3.exports; -const SemVer$b = semver$2; -const parseOptions = parseOptions_1; -const parse$5 = (version, options) => { - options = parseOptions(options); - if (version instanceof SemVer$b) { - return version; - } - if (typeof version !== 'string') { - return null; - } - if (version.length > MAX_LENGTH) { - return null; - } - const r = options.loose ? re$1[t$1.LOOSE] : re$1[t$1.FULL]; - if (!r.test(version)) { - return null; - } - try { - return new SemVer$b(version, options); - } catch (er) { - return null; - } -}; -var parse_1 = parse$5; -const parse$4 = parse_1; -const valid$1 = (version, options) => { - const v = parse$4(version, options); - return v ? v.version : null; -}; -var valid_1 = valid$1; -const parse$3 = parse_1; -const clean = (version, options) => { - const s = parse$3(version.trim().replace(/^[=v]+/, ''), options); - return s ? s.version : null; -}; -var clean_1 = clean; -const SemVer$a = semver$2; -const inc = (version, release, options, identifier) => { - if (typeof options === 'string') { - identifier = options; - options = undefined; - } - try { - return new SemVer$a(version instanceof SemVer$a ? version.version : version, options).inc(release, identifier).version; - } catch (er) { - return null; - } -}; -var inc_1 = inc; -const SemVer$9 = semver$2; -const compare$a = (a, b, loose) => new SemVer$9(a, loose).compare(new SemVer$9(b, loose)); -var compare_1 = compare$a; -const compare$9 = compare_1; -const eq$2 = (a, b, loose) => compare$9(a, b, loose) === 0; -var eq_1 = eq$2; -const parse$2 = parse_1; -const eq$1 = eq_1; -const diff = (version1, version2) => { - if (eq$1(version1, version2)) { - return null; - } else { - const v1 = parse$2(version1); - const v2 = parse$2(version2); - const hasPre = v1.prerelease.length || v2.prerelease.length; - const prefix = hasPre ? 'pre' : ''; - const defaultResult = hasPre ? 'prerelease' : ''; - for (const key in v1) { - if (key === 'major' || key === 'minor' || key === 'patch') { - if (v1[key] !== v2[key]) { - return prefix + key; - } - } - } - return defaultResult; - } -}; -var diff_1 = diff; -const SemVer$8 = semver$2; -const major = (a, loose) => new SemVer$8(a, loose).major; -var major_1 = major; -const SemVer$7 = semver$2; -const minor = (a, loose) => new SemVer$7(a, loose).minor; -var minor_1 = minor; -const SemVer$6 = semver$2; -const patch = (a, loose) => new SemVer$6(a, loose).patch; -var patch_1 = patch; -const parse$1 = parse_1; -const prerelease = (version, options) => { - const parsed = parse$1(version, options); - return parsed && parsed.prerelease.length ? parsed.prerelease : null; -}; -var prerelease_1 = prerelease; -const compare$8 = compare_1; -const rcompare = (a, b, loose) => compare$8(b, a, loose); -var rcompare_1 = rcompare; -const compare$7 = compare_1; -const compareLoose = (a, b) => compare$7(a, b, true); -var compareLoose_1 = compareLoose; -const SemVer$5 = semver$2; -const compareBuild$2 = (a, b, loose) => { - const versionA = new SemVer$5(a, loose); - const versionB = new SemVer$5(b, loose); - return versionA.compare(versionB) || versionA.compareBuild(versionB); -}; -var compareBuild_1 = compareBuild$2; -const compareBuild$1 = compareBuild_1; -const sort = (list, loose) => list.sort((a, b) => compareBuild$1(a, b, loose)); -var sort_1 = sort; -const compareBuild = compareBuild_1; -const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)); -var rsort_1 = rsort; -const compare$6 = compare_1; -const gt$3 = (a, b, loose) => compare$6(a, b, loose) > 0; -var gt_1 = gt$3; -const compare$5 = compare_1; -const lt$2 = (a, b, loose) => compare$5(a, b, loose) < 0; -var lt_1 = lt$2; -const compare$4 = compare_1; -const neq$1 = (a, b, loose) => compare$4(a, b, loose) !== 0; -var neq_1 = neq$1; -const compare$3 = compare_1; -const gte$2 = (a, b, loose) => compare$3(a, b, loose) >= 0; -var gte_1 = gte$2; -const compare$2 = compare_1; -const lte$2 = (a, b, loose) => compare$2(a, b, loose) <= 0; -var lte_1 = lte$2; -const eq = eq_1; -const neq = neq_1; -const gt$2 = gt_1; -const gte$1 = gte_1; -const lt$1 = lt_1; -const lte$1 = lte_1; -const cmp = (a, op, b, loose) => { - switch (op) { - case '===': - if (typeof a === 'object') { - a = a.version; - } - if (typeof b === 'object') { - b = b.version; - } - return a === b; - case '!==': - if (typeof a === 'object') { - a = a.version; - } - if (typeof b === 'object') { - b = b.version; - } - return a !== b; - case '': - case '=': - case '==': - return eq(a, b, loose); - case '!=': - return neq(a, b, loose); - case '>': - return gt$2(a, b, loose); - case '>=': - return gte$1(a, b, loose); - case '<': - return lt$1(a, b, loose); - case '<=': - return lte$1(a, b, loose); - default: - throw new TypeError(`Invalid operator: ${op}`); - } -}; -var cmp_1 = cmp; -const SemVer$4 = semver$2; -const parse = parse_1; -const { - re, - t -} = re$3.exports; -const coerce = (version, options) => { - if (version instanceof SemVer$4) { - return version; - } - if (typeof version === 'number') { - version = String(version); - } - if (typeof version !== 'string') { - return null; - } - options = options || {}; - let match = null; - if (!options.rtl) { - match = version.match(re[t.COERCE]); - } else { - let next; - while ((next = re[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) { - if (!match || next.index + next[0].length !== match.index + match[0].length) { - match = next; - } - re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length; - } - re[t.COERCERTL].lastIndex = -1; - } - if (match === null) { - return null; - } - return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options); -}; -var coerce_1 = coerce; -var iterator; -var hasRequiredIterator; -function requireIterator() { - if (hasRequiredIterator) return iterator; - hasRequiredIterator = 1; - iterator = function (Yallist) { - Yallist.prototype[Symbol.iterator] = function* () { - for (let walker = this.head; walker; walker = walker.next) { - yield walker.value; - } - }; - }; - return iterator; -} -var yallist; -var hasRequiredYallist; -function requireYallist() { - if (hasRequiredYallist) return yallist; - hasRequiredYallist = 1; - yallist = Yallist; - Yallist.Node = Node; - Yallist.create = Yallist; - function Yallist(list) { - var self = this; - if (!(self instanceof Yallist)) { - self = new Yallist(); - } - self.tail = null; - self.head = null; - self.length = 0; - if (list && typeof list.forEach === 'function') { - list.forEach(function (item) { - self.push(item); - }); - } else if (arguments.length > 0) { - for (var i = 0, l = arguments.length; i < l; i++) { - self.push(arguments[i]); - } - } - return self; - } - Yallist.prototype.removeNode = function (node) { - if (node.list !== this) { - throw new Error('removing node which does not belong to this list'); - } - var next = node.next; - var prev = node.prev; - if (next) { - next.prev = prev; - } - if (prev) { - prev.next = next; - } - if (node === this.head) { - this.head = next; - } - if (node === this.tail) { - this.tail = prev; - } - node.list.length--; - node.next = null; - node.prev = null; - node.list = null; - return next; - }; - Yallist.prototype.unshiftNode = function (node) { - if (node === this.head) { - return; - } - if (node.list) { - node.list.removeNode(node); - } - var head = this.head; - node.list = this; - node.next = head; - if (head) { - head.prev = node; - } - this.head = node; - if (!this.tail) { - this.tail = node; - } - this.length++; - }; - Yallist.prototype.pushNode = function (node) { - if (node === this.tail) { - return; - } - if (node.list) { - node.list.removeNode(node); - } - var tail = this.tail; - node.list = this; - node.prev = tail; - if (tail) { - tail.next = node; - } - this.tail = node; - if (!this.head) { - this.head = node; - } - this.length++; - }; - Yallist.prototype.push = function () { - for (var i = 0, l = arguments.length; i < l; i++) { - push(this, arguments[i]); - } - return this.length; - }; - Yallist.prototype.unshift = function () { - for (var i = 0, l = arguments.length; i < l; i++) { - unshift(this, arguments[i]); - } - return this.length; - }; - Yallist.prototype.pop = function () { - if (!this.tail) { - return undefined; - } - var res = this.tail.value; - this.tail = this.tail.prev; - if (this.tail) { - this.tail.next = null; - } else { - this.head = null; - } - this.length--; - return res; - }; - Yallist.prototype.shift = function () { - if (!this.head) { - return undefined; - } - var res = this.head.value; - this.head = this.head.next; - if (this.head) { - this.head.prev = null; - } else { - this.tail = null; - } - this.length--; - return res; - }; - Yallist.prototype.forEach = function (fn, thisp) { - thisp = thisp || this; - for (var walker = this.head, i = 0; walker !== null; i++) { - fn.call(thisp, walker.value, i, this); - walker = walker.next; - } - }; - Yallist.prototype.forEachReverse = function (fn, thisp) { - thisp = thisp || this; - for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { - fn.call(thisp, walker.value, i, this); - walker = walker.prev; - } - }; - Yallist.prototype.get = function (n) { - for (var i = 0, walker = this.head; walker !== null && i < n; i++) { - walker = walker.next; - } - if (i === n && walker !== null) { - return walker.value; - } - }; - Yallist.prototype.getReverse = function (n) { - for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { - walker = walker.prev; - } - if (i === n && walker !== null) { - return walker.value; - } - }; - Yallist.prototype.map = function (fn, thisp) { - thisp = thisp || this; - var res = new Yallist(); - for (var walker = this.head; walker !== null;) { - res.push(fn.call(thisp, walker.value, this)); - walker = walker.next; - } - return res; - }; - Yallist.prototype.mapReverse = function (fn, thisp) { - thisp = thisp || this; - var res = new Yallist(); - for (var walker = this.tail; walker !== null;) { - res.push(fn.call(thisp, walker.value, this)); - walker = walker.prev; - } - return res; - }; - Yallist.prototype.reduce = function (fn, initial) { - var acc; - var walker = this.head; - if (arguments.length > 1) { - acc = initial; - } else if (this.head) { - walker = this.head.next; - acc = this.head.value; - } else { - throw new TypeError('Reduce of empty list with no initial value'); - } - for (var i = 0; walker !== null; i++) { - acc = fn(acc, walker.value, i); - walker = walker.next; - } - return acc; - }; - Yallist.prototype.reduceReverse = function (fn, initial) { - var acc; - var walker = this.tail; - if (arguments.length > 1) { - acc = initial; - } else if (this.tail) { - walker = this.tail.prev; - acc = this.tail.value; - } else { - throw new TypeError('Reduce of empty list with no initial value'); - } - for (var i = this.length - 1; walker !== null; i--) { - acc = fn(acc, walker.value, i); - walker = walker.prev; - } - return acc; - }; - Yallist.prototype.toArray = function () { - var arr = new Array(this.length); - for (var i = 0, walker = this.head; walker !== null; i++) { - arr[i] = walker.value; - walker = walker.next; - } - return arr; - }; - Yallist.prototype.toArrayReverse = function () { - var arr = new Array(this.length); - for (var i = 0, walker = this.tail; walker !== null; i++) { - arr[i] = walker.value; - walker = walker.prev; - } - return arr; - }; - Yallist.prototype.slice = function (from, to) { - to = to || this.length; - if (to < 0) { - to += this.length; - } - from = from || 0; - if (from < 0) { - from += this.length; - } - var ret = new Yallist(); - if (to < from || to < 0) { - return ret; - } - if (from < 0) { - from = 0; - } - if (to > this.length) { - to = this.length; - } - for (var i = 0, walker = this.head; walker !== null && i < from; i++) { - walker = walker.next; - } - for (; walker !== null && i < to; i++, walker = walker.next) { - ret.push(walker.value); - } - return ret; - }; - Yallist.prototype.sliceReverse = function (from, to) { - to = to || this.length; - if (to < 0) { - to += this.length; - } - from = from || 0; - if (from < 0) { - from += this.length; - } - var ret = new Yallist(); - if (to < from || to < 0) { - return ret; - } - if (from < 0) { - from = 0; - } - if (to > this.length) { - to = this.length; - } - for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { - walker = walker.prev; - } - for (; walker !== null && i > from; i--, walker = walker.prev) { - ret.push(walker.value); - } - return ret; - }; - Yallist.prototype.splice = function (start, deleteCount, ...nodes) { - if (start > this.length) { - start = this.length - 1; - } - if (start < 0) { - start = this.length + start; - } - for (var i = 0, walker = this.head; walker !== null && i < start; i++) { - walker = walker.next; - } - var ret = []; - for (var i = 0; walker && i < deleteCount; i++) { - ret.push(walker.value); - walker = this.removeNode(walker); - } - if (walker === null) { - walker = this.tail; - } - if (walker !== this.head && walker !== this.tail) { - walker = walker.prev; - } - for (var i = 0; i < nodes.length; i++) { - walker = insert(this, walker, nodes[i]); - } - return ret; - }; - Yallist.prototype.reverse = function () { - var head = this.head; - var tail = this.tail; - for (var walker = head; walker !== null; walker = walker.prev) { - var p = walker.prev; - walker.prev = walker.next; - walker.next = p; - } - this.head = tail; - this.tail = head; - return this; - }; - function insert(self, node, value) { - var inserted = node === self.head ? new Node(value, null, node, self) : new Node(value, node, node.next, self); - if (inserted.next === null) { - self.tail = inserted; - } - if (inserted.prev === null) { - self.head = inserted; - } - self.length++; - return inserted; - } - function push(self, item) { - self.tail = new Node(item, self.tail, null, self); - if (!self.head) { - self.head = self.tail; - } - self.length++; - } - function unshift(self, item) { - self.head = new Node(item, null, self.head, self); - if (!self.tail) { - self.tail = self.head; - } - self.length++; - } - function Node(value, prev, next, list) { - if (!(this instanceof Node)) { - return new Node(value, prev, next, list); - } - this.list = list; - this.value = value; - if (prev) { - prev.next = this; - this.prev = prev; - } else { - this.prev = null; - } - if (next) { - next.prev = this; - this.next = next; - } else { - this.next = null; - } - } - try { - requireIterator()(Yallist); - } catch (er) {} - return yallist; -} -var lruCache; -var hasRequiredLruCache; -function requireLruCache() { - if (hasRequiredLruCache) return lruCache; - hasRequiredLruCache = 1; - const Yallist = requireYallist(); - const MAX = Symbol('max'); - const LENGTH = Symbol('length'); - const LENGTH_CALCULATOR = Symbol('lengthCalculator'); - const ALLOW_STALE = Symbol('allowStale'); - const MAX_AGE = Symbol('maxAge'); - const DISPOSE = Symbol('dispose'); - const NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet'); - const LRU_LIST = Symbol('lruList'); - const CACHE = Symbol('cache'); - const UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet'); - const naiveLength = () => 1; - class LRUCache { - constructor(options) { - if (typeof options === 'number') options = { - max: options - }; - if (!options) options = {}; - if (options.max && (typeof options.max !== 'number' || options.max < 0)) throw new TypeError('max must be a non-negative number'); - this[MAX] = options.max || Infinity; - const lc = options.length || naiveLength; - this[LENGTH_CALCULATOR] = typeof lc !== 'function' ? naiveLength : lc; - this[ALLOW_STALE] = options.stale || false; - if (options.maxAge && typeof options.maxAge !== 'number') throw new TypeError('maxAge must be a number'); - this[MAX_AGE] = options.maxAge || 0; - this[DISPOSE] = options.dispose; - this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false; - this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false; - this.reset(); - } - set max(mL) { - if (typeof mL !== 'number' || mL < 0) throw new TypeError('max must be a non-negative number'); - this[MAX] = mL || Infinity; - trim(this); - } - get max() { - return this[MAX]; - } - set allowStale(allowStale) { - this[ALLOW_STALE] = !!allowStale; - } - get allowStale() { - return this[ALLOW_STALE]; - } - set maxAge(mA) { - if (typeof mA !== 'number') throw new TypeError('maxAge must be a non-negative number'); - this[MAX_AGE] = mA; - trim(this); - } - get maxAge() { - return this[MAX_AGE]; - } - set lengthCalculator(lC) { - if (typeof lC !== 'function') lC = naiveLength; - if (lC !== this[LENGTH_CALCULATOR]) { - this[LENGTH_CALCULATOR] = lC; - this[LENGTH] = 0; - this[LRU_LIST].forEach(hit => { - hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key); - this[LENGTH] += hit.length; - }); - } - trim(this); - } - get lengthCalculator() { - return this[LENGTH_CALCULATOR]; - } - get length() { - return this[LENGTH]; - } - get itemCount() { - return this[LRU_LIST].length; - } - rforEach(fn, thisp) { - thisp = thisp || this; - for (let walker = this[LRU_LIST].tail; walker !== null;) { - const prev = walker.prev; - forEachStep(this, fn, walker, thisp); - walker = prev; - } - } - forEach(fn, thisp) { - thisp = thisp || this; - for (let walker = this[LRU_LIST].head; walker !== null;) { - const next = walker.next; - forEachStep(this, fn, walker, thisp); - walker = next; - } - } - keys() { - return this[LRU_LIST].toArray().map(k => k.key); - } - values() { - return this[LRU_LIST].toArray().map(k => k.value); - } - reset() { - if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) { - this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value)); - } - this[CACHE] = new Map(); - this[LRU_LIST] = new Yallist(); - this[LENGTH] = 0; - } - dump() { - return this[LRU_LIST].map(hit => isStale(this, hit) ? false : { - k: hit.key, - v: hit.value, - e: hit.now + (hit.maxAge || 0) - }).toArray().filter(h => h); - } - dumpLru() { - return this[LRU_LIST]; - } - set(key, value, maxAge) { - maxAge = maxAge || this[MAX_AGE]; - if (maxAge && typeof maxAge !== 'number') throw new TypeError('maxAge must be a number'); - const now = maxAge ? Date.now() : 0; - const len = this[LENGTH_CALCULATOR](value, key); - if (this[CACHE].has(key)) { - if (len > this[MAX]) { - del(this, this[CACHE].get(key)); - return false; - } - const node = this[CACHE].get(key); - const item = node.value; - if (this[DISPOSE]) { - if (!this[NO_DISPOSE_ON_SET]) this[DISPOSE](key, item.value); - } - item.now = now; - item.maxAge = maxAge; - item.value = value; - this[LENGTH] += len - item.length; - item.length = len; - this.get(key); - trim(this); - return true; - } - const hit = new Entry(key, value, len, now, maxAge); - if (hit.length > this[MAX]) { - if (this[DISPOSE]) this[DISPOSE](key, value); - return false; - } - this[LENGTH] += hit.length; - this[LRU_LIST].unshift(hit); - this[CACHE].set(key, this[LRU_LIST].head); - trim(this); - return true; - } - has(key) { - if (!this[CACHE].has(key)) return false; - const hit = this[CACHE].get(key).value; - return !isStale(this, hit); - } - get(key) { - return get(this, key, true); - } - peek(key) { - return get(this, key, false); - } - pop() { - const node = this[LRU_LIST].tail; - if (!node) return null; - del(this, node); - return node.value; - } - del(key) { - del(this, this[CACHE].get(key)); - } - load(arr) { - this.reset(); - const now = Date.now(); - for (let l = arr.length - 1; l >= 0; l--) { - const hit = arr[l]; - const expiresAt = hit.e || 0; - if (expiresAt === 0) this.set(hit.k, hit.v);else { - const maxAge = expiresAt - now; - if (maxAge > 0) { - this.set(hit.k, hit.v, maxAge); - } - } - } - } - prune() { - this[CACHE].forEach((value, key) => get(this, key, false)); - } - } - const get = (self, key, doUse) => { - const node = self[CACHE].get(key); - if (node) { - const hit = node.value; - if (isStale(self, hit)) { - del(self, node); - if (!self[ALLOW_STALE]) return undefined; - } else { - if (doUse) { - if (self[UPDATE_AGE_ON_GET]) node.value.now = Date.now(); - self[LRU_LIST].unshiftNode(node); - } - } - return hit.value; - } - }; - const isStale = (self, hit) => { - if (!hit || !hit.maxAge && !self[MAX_AGE]) return false; - const diff = Date.now() - hit.now; - return hit.maxAge ? diff > hit.maxAge : self[MAX_AGE] && diff > self[MAX_AGE]; - }; - const trim = self => { - if (self[LENGTH] > self[MAX]) { - for (let walker = self[LRU_LIST].tail; self[LENGTH] > self[MAX] && walker !== null;) { - const prev = walker.prev; - del(self, walker); - walker = prev; - } - } - }; - const del = (self, node) => { - if (node) { - const hit = node.value; - if (self[DISPOSE]) self[DISPOSE](hit.key, hit.value); - self[LENGTH] -= hit.length; - self[CACHE].delete(hit.key); - self[LRU_LIST].removeNode(node); - } - }; - class Entry { - constructor(key, value, length, now, maxAge) { - this.key = key; - this.value = value; - this.length = length; - this.now = now; - this.maxAge = maxAge || 0; - } - } - const forEachStep = (self, fn, node, thisp) => { - let hit = node.value; - if (isStale(self, hit)) { - del(self, node); - if (!self[ALLOW_STALE]) hit = undefined; - } - if (hit) fn.call(thisp, hit.value, hit.key, self); - }; - lruCache = LRUCache; - return lruCache; -} -var range; -var hasRequiredRange; -function requireRange() { - if (hasRequiredRange) return range; - hasRequiredRange = 1; - class Range { - constructor(range, options) { - options = parseOptions(options); - if (range instanceof Range) { - if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) { - return range; - } else { - return new Range(range.raw, options); - } - } - if (range instanceof Comparator) { - this.raw = range.value; - this.set = [[range]]; - this.format(); - return this; - } - this.options = options; - this.loose = !!options.loose; - this.includePrerelease = !!options.includePrerelease; - this.raw = range; - this.set = range.split('||').map(r => this.parseRange(r.trim())).filter(c => c.length); - if (!this.set.length) { - throw new TypeError(`Invalid SemVer Range: ${range}`); - } - if (this.set.length > 1) { - const first = this.set[0]; - this.set = this.set.filter(c => !isNullSet(c[0])); - if (this.set.length === 0) { - this.set = [first]; - } else if (this.set.length > 1) { - for (const c of this.set) { - if (c.length === 1 && isAny(c[0])) { - this.set = [c]; - break; - } - } - } - } - this.format(); - } - format() { - this.range = this.set.map(comps => { - return comps.join(' ').trim(); - }).join('||').trim(); - return this.range; - } - toString() { - return this.range; - } - parseRange(range) { - range = range.trim(); - const memoOpts = Object.keys(this.options).join(','); - const memoKey = `parseRange:${memoOpts}:${range}`; - const cached = cache.get(memoKey); - if (cached) { - return cached; - } - const loose = this.options.loose; - const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]; - range = range.replace(hr, hyphenReplace(this.options.includePrerelease)); - debug('hyphen replace', range); - range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); - debug('comparator trim', range); - range = range.replace(re[t.TILDETRIM], tildeTrimReplace); - range = range.replace(re[t.CARETTRIM], caretTrimReplace); - range = range.split(/\s+/).join(' '); - let rangeList = range.split(' ').map(comp => parseComparator(comp, this.options)).join(' ').split(/\s+/).map(comp => replaceGTE0(comp, this.options)); - if (loose) { - rangeList = rangeList.filter(comp => { - debug('loose invalid filter', comp, this.options); - return !!comp.match(re[t.COMPARATORLOOSE]); - }); - } - debug('range list', rangeList); - const rangeMap = new Map(); - const comparators = rangeList.map(comp => new Comparator(comp, this.options)); - for (const comp of comparators) { - if (isNullSet(comp)) { - return [comp]; - } - rangeMap.set(comp.value, comp); - } - if (rangeMap.size > 1 && rangeMap.has('')) { - rangeMap.delete(''); - } - const result = [...rangeMap.values()]; - cache.set(memoKey, result); - return result; - } - intersects(range, options) { - if (!(range instanceof Range)) { - throw new TypeError('a Range is required'); - } - return this.set.some(thisComparators => { - return isSatisfiable(thisComparators, options) && range.set.some(rangeComparators => { - return isSatisfiable(rangeComparators, options) && thisComparators.every(thisComparator => { - return rangeComparators.every(rangeComparator => { - return thisComparator.intersects(rangeComparator, options); - }); - }); - }); - }); - } - test(version) { - if (!version) { - return false; - } - if (typeof version === 'string') { - try { - version = new SemVer(version, this.options); - } catch (er) { - return false; - } - } - for (let i = 0; i < this.set.length; i++) { - if (testSet(this.set[i], version, this.options)) { - return true; - } - } - return false; - } - } - range = Range; - const LRU = requireLruCache(); - const cache = new LRU({ - max: 1000 - }); - const parseOptions = parseOptions_1; - const Comparator = requireComparator(); - const debug = debug_1; - const SemVer = semver$2; - const { - re, - t, - comparatorTrimReplace, - tildeTrimReplace, - caretTrimReplace - } = re$3.exports; - const isNullSet = c => c.value === '<0.0.0-0'; - const isAny = c => c.value === ''; - const isSatisfiable = (comparators, options) => { - let result = true; - const remainingComparators = comparators.slice(); - let testComparator = remainingComparators.pop(); - while (result && remainingComparators.length) { - result = remainingComparators.every(otherComparator => { - return testComparator.intersects(otherComparator, options); - }); - testComparator = remainingComparators.pop(); - } - return result; - }; - const parseComparator = (comp, options) => { - debug('comp', comp, options); - comp = replaceCarets(comp, options); - debug('caret', comp); - comp = replaceTildes(comp, options); - debug('tildes', comp); - comp = replaceXRanges(comp, options); - debug('xrange', comp); - comp = replaceStars(comp, options); - debug('stars', comp); - return comp; - }; - const isX = id => !id || id.toLowerCase() === 'x' || id === '*'; - const replaceTildes = (comp, options) => comp.trim().split(/\s+/).map(c => { - return replaceTilde(c, options); - }).join(' '); - const replaceTilde = (comp, options) => { - const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]; - return comp.replace(r, (_, M, m, p, pr) => { - debug('tilde', comp, _, M, m, p, pr); - let ret; - if (isX(M)) { - ret = ''; - } else if (isX(m)) { - ret = `>=${M}.0.0 <${+M + 1}.0.0-0`; - } else if (isX(p)) { - ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`; - } else if (pr) { - debug('replaceTilde pr', pr); - ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`; - } else { - ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`; - } - debug('tilde return', ret); - return ret; - }); - }; - const replaceCarets = (comp, options) => comp.trim().split(/\s+/).map(c => { - return replaceCaret(c, options); - }).join(' '); - const replaceCaret = (comp, options) => { - debug('caret', comp, options); - const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]; - const z = options.includePrerelease ? '-0' : ''; - return comp.replace(r, (_, M, m, p, pr) => { - debug('caret', comp, _, M, m, p, pr); - let ret; - if (isX(M)) { - ret = ''; - } else if (isX(m)) { - ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`; - } else if (isX(p)) { - if (M === '0') { - ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`; - } else { - ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`; - } - } else if (pr) { - debug('replaceCaret pr', pr); - if (M === '0') { - if (m === '0') { - ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`; - } else { - ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`; - } - } else { - ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`; - } - } else { - debug('no pr'); - if (M === '0') { - if (m === '0') { - ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`; - } else { - ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`; - } - } else { - ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`; - } - } - debug('caret return', ret); - return ret; - }); - }; - const replaceXRanges = (comp, options) => { - debug('replaceXRanges', comp, options); - return comp.split(/\s+/).map(c => { - return replaceXRange(c, options); - }).join(' '); - }; - const replaceXRange = (comp, options) => { - comp = comp.trim(); - const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]; - return comp.replace(r, (ret, gtlt, M, m, p, pr) => { - debug('xRange', comp, ret, gtlt, M, m, p, pr); - const xM = isX(M); - const xm = xM || isX(m); - const xp = xm || isX(p); - const anyX = xp; - if (gtlt === '=' && anyX) { - gtlt = ''; - } - pr = options.includePrerelease ? '-0' : ''; - if (xM) { - if (gtlt === '>' || gtlt === '<') { - ret = '<0.0.0-0'; - } else { - ret = '*'; - } - } else if (gtlt && anyX) { - if (xm) { - m = 0; - } - p = 0; - if (gtlt === '>') { - gtlt = '>='; - if (xm) { - M = +M + 1; - m = 0; - p = 0; - } else { - m = +m + 1; - p = 0; - } - } else if (gtlt === '<=') { - gtlt = '<'; - if (xm) { - M = +M + 1; - } else { - m = +m + 1; - } - } - if (gtlt === '<') { - pr = '-0'; - } - ret = `${gtlt + M}.${m}.${p}${pr}`; - } else if (xm) { - ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`; - } else if (xp) { - ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`; - } - debug('xRange return', ret); - return ret; - }); - }; - const replaceStars = (comp, options) => { - debug('replaceStars', comp, options); - return comp.trim().replace(re[t.STAR], ''); - }; - const replaceGTE0 = (comp, options) => { - debug('replaceGTE0', comp, options); - return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], ''); - }; - const hyphenReplace = incPr => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) => { - if (isX(fM)) { - from = ''; - } else if (isX(fm)) { - from = `>=${fM}.0.0${incPr ? '-0' : ''}`; - } else if (isX(fp)) { - from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`; - } else if (fpr) { - from = `>=${from}`; - } else { - from = `>=${from}${incPr ? '-0' : ''}`; - } - if (isX(tM)) { - to = ''; - } else if (isX(tm)) { - to = `<${+tM + 1}.0.0-0`; - } else if (isX(tp)) { - to = `<${tM}.${+tm + 1}.0-0`; - } else if (tpr) { - to = `<=${tM}.${tm}.${tp}-${tpr}`; - } else if (incPr) { - to = `<${tM}.${tm}.${+tp + 1}-0`; - } else { - to = `<=${to}`; - } - return `${from} ${to}`.trim(); - }; - const testSet = (set, version, options) => { - for (let i = 0; i < set.length; i++) { - if (!set[i].test(version)) { - return false; - } - } - if (version.prerelease.length && !options.includePrerelease) { - for (let i = 0; i < set.length; i++) { - debug(set[i].semver); - if (set[i].semver === Comparator.ANY) { - continue; - } - if (set[i].semver.prerelease.length > 0) { - const allowed = set[i].semver; - if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) { - return true; - } - } - } - return false; - } - return true; +function _module() { + const data = require("module"); + _module = function () { + return data; }; - return range; -} -var comparator; -var hasRequiredComparator; -function requireComparator() { - if (hasRequiredComparator) return comparator; - hasRequiredComparator = 1; - const ANY = Symbol('SemVer ANY'); - class Comparator { - static get ANY() { - return ANY; - } - constructor(comp, options) { - options = parseOptions(options); - if (comp instanceof Comparator) { - if (comp.loose === !!options.loose) { - return comp; - } else { - comp = comp.value; - } - } - debug('comparator', comp, options); - this.options = options; - this.loose = !!options.loose; - this.parse(comp); - if (this.semver === ANY) { - this.value = ''; - } else { - this.value = this.operator + this.semver.version; - } - debug('comp', this); - } - parse(comp) { - const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]; - const m = comp.match(r); - if (!m) { - throw new TypeError(`Invalid comparator: ${comp}`); - } - this.operator = m[1] !== undefined ? m[1] : ''; - if (this.operator === '=') { - this.operator = ''; - } - if (!m[2]) { - this.semver = ANY; - } else { - this.semver = new SemVer(m[2], this.options.loose); - } - } - toString() { - return this.value; - } - test(version) { - debug('Comparator.test', version, this.options.loose); - if (this.semver === ANY || version === ANY) { - return true; - } - if (typeof version === 'string') { - try { - version = new SemVer(version, this.options); - } catch (er) { - return false; - } - } - return cmp(version, this.operator, this.semver, this.options); - } - intersects(comp, options) { - if (!(comp instanceof Comparator)) { - throw new TypeError('a Comparator is required'); - } - if (!options || typeof options !== 'object') { - options = { - loose: !!options, - includePrerelease: false - }; - } - if (this.operator === '') { - if (this.value === '') { - return true; - } - return new Range(comp.value, options).test(this.value); - } else if (comp.operator === '') { - if (comp.value === '') { - return true; - } - return new Range(this.value, options).test(comp.semver); - } - const sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>'); - const sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<'); - const sameSemVer = this.semver.version === comp.semver.version; - const differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<='); - const oppositeDirectionsLessThan = cmp(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<'); - const oppositeDirectionsGreaterThan = cmp(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>'); - return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan; - } - } - comparator = Comparator; - const parseOptions = parseOptions_1; - const { - re, - t - } = re$3.exports; - const cmp = cmp_1; - const debug = debug_1; - const SemVer = semver$2; - const Range = requireRange(); - return comparator; -} -const Range$8 = requireRange(); -const satisfies$3 = (version, range, options) => { - try { - range = new Range$8(range, options); - } catch (er) { - return false; - } - return range.test(version); -}; -var satisfies_1 = satisfies$3; -const Range$7 = requireRange(); -const toComparators = (range, options) => new Range$7(range, options).set.map(comp => comp.map(c => c.value).join(' ').trim().split(' ')); -var toComparators_1 = toComparators; -const SemVer$3 = semver$2; -const Range$6 = requireRange(); -const maxSatisfying = (versions, range, options) => { - let max = null; - let maxSV = null; - let rangeObj = null; - try { - rangeObj = new Range$6(range, options); - } catch (er) { - return null; - } - versions.forEach(v => { - if (rangeObj.test(v)) { - if (!max || maxSV.compare(v) === -1) { - max = v; - maxSV = new SemVer$3(max, options); - } - } - }); - return max; -}; -var maxSatisfying_1 = maxSatisfying; -const SemVer$2 = semver$2; -const Range$5 = requireRange(); -const minSatisfying = (versions, range, options) => { - let min = null; - let minSV = null; - let rangeObj = null; - try { - rangeObj = new Range$5(range, options); - } catch (er) { - return null; - } - versions.forEach(v => { - if (rangeObj.test(v)) { - if (!min || minSV.compare(v) === 1) { - min = v; - minSV = new SemVer$2(min, options); - } - } - }); - return min; -}; -var minSatisfying_1 = minSatisfying; -const SemVer$1 = semver$2; -const Range$4 = requireRange(); -const gt$1 = gt_1; -const minVersion = (range, loose) => { - range = new Range$4(range, loose); - let minver = new SemVer$1('0.0.0'); - if (range.test(minver)) { - return minver; - } - minver = new SemVer$1('0.0.0-0'); - if (range.test(minver)) { - return minver; - } - minver = null; - for (let i = 0; i < range.set.length; ++i) { - const comparators = range.set[i]; - let setMin = null; - comparators.forEach(comparator => { - const compver = new SemVer$1(comparator.semver.version); - switch (comparator.operator) { - case '>': - if (compver.prerelease.length === 0) { - compver.patch++; - } else { - compver.prerelease.push(0); - } - compver.raw = compver.format(); - case '': - case '>=': - if (!setMin || gt$1(compver, setMin)) { - setMin = compver; - } - break; - case '<': - case '<=': - break; - default: - throw new Error(`Unexpected operation: ${comparator.operator}`); - } - }); - if (setMin && (!minver || gt$1(minver, setMin))) { - minver = setMin; - } - } - if (minver && range.test(minver)) { - return minver; - } - return null; -}; -var minVersion_1 = minVersion; -const Range$3 = requireRange(); -const validRange = (range, options) => { - try { - return new Range$3(range, options).range || '*'; - } catch (er) { - return null; - } -}; -var valid = validRange; -const SemVer = semver$2; -const Comparator$1 = requireComparator(); -const { - ANY: ANY$1 -} = Comparator$1; -const Range$2 = requireRange(); -const satisfies$2 = satisfies_1; -const gt = gt_1; -const lt = lt_1; -const lte = lte_1; -const gte = gte_1; -const outside$2 = (version, range, hilo, options) => { - version = new SemVer(version, options); - range = new Range$2(range, options); - let gtfn, ltefn, ltfn, comp, ecomp; - switch (hilo) { - case '>': - gtfn = gt; - ltefn = lte; - ltfn = lt; - comp = '>'; - ecomp = '>='; - break; - case '<': - gtfn = lt; - ltefn = gte; - ltfn = gt; - comp = '<'; - ecomp = '<='; - break; - default: - throw new TypeError('Must provide a hilo val of "<" or ">"'); - } - if (satisfies$2(version, range, options)) { - return false; - } - for (let i = 0; i < range.set.length; ++i) { - const comparators = range.set[i]; - let high = null; - let low = null; - comparators.forEach(comparator => { - if (comparator.semver === ANY$1) { - comparator = new Comparator$1('>=0.0.0'); - } - high = high || comparator; - low = low || comparator; - if (gtfn(comparator.semver, high.semver, options)) { - high = comparator; - } else if (ltfn(comparator.semver, low.semver, options)) { - low = comparator; - } - }); - if (high.operator === comp || high.operator === ecomp) { - return false; - } - if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) { - return false; - } else if (low.operator === ecomp && ltfn(version, low.semver)) { - return false; - } - } - return true; -}; -var outside_1 = outside$2; -const outside$1 = outside_1; -const gtr = (version, range, options) => outside$1(version, range, '>', options); -var gtr_1 = gtr; -const outside = outside_1; -const ltr = (version, range, options) => outside(version, range, '<', options); -var ltr_1 = ltr; -const Range$1 = requireRange(); -const intersects = (r1, r2, options) => { - r1 = new Range$1(r1, options); - r2 = new Range$1(r2, options); - return r1.intersects(r2); -}; -var intersects_1 = intersects; -const satisfies$1 = satisfies_1; -const compare$1 = compare_1; -var simplify = (versions, range, options) => { - const set = []; - let first = null; - let prev = null; - const v = versions.sort((a, b) => compare$1(a, b, options)); - for (const version of v) { - const included = satisfies$1(version, range, options); - if (included) { - prev = version; - if (!first) { - first = version; - } - } else { - if (prev) { - set.push([first, prev]); - } - prev = null; - first = null; - } - } - if (first) { - set.push([first, null]); - } - const ranges = []; - for (const [min, max] of set) { - if (min === max) { - ranges.push(min); - } else if (!max && min === v[0]) { - ranges.push('*'); - } else if (!max) { - ranges.push(`>=${min}`); - } else if (min === v[0]) { - ranges.push(`<=${max}`); - } else { - ranges.push(`${min} - ${max}`); - } - } - const simplified = ranges.join(' || '); - const original = typeof range.raw === 'string' ? range.raw : String(range); - return simplified.length < original.length ? simplified : range; -}; -const Range = requireRange(); -const Comparator = requireComparator(); -const { - ANY -} = Comparator; -const satisfies = satisfies_1; -const compare = compare_1; -const subset = (sub, dom, options = {}) => { - if (sub === dom) { - return true; - } - sub = new Range(sub, options); - dom = new Range(dom, options); - let sawNonNull = false; - OUTER: for (const simpleSub of sub.set) { - for (const simpleDom of dom.set) { - const isSub = simpleSubset(simpleSub, simpleDom, options); - sawNonNull = sawNonNull || isSub !== null; - if (isSub) { - continue OUTER; - } - } - if (sawNonNull) { - return false; - } - } - return true; -}; -const simpleSubset = (sub, dom, options) => { - if (sub === dom) { - return true; - } - if (sub.length === 1 && sub[0].semver === ANY) { - if (dom.length === 1 && dom[0].semver === ANY) { - return true; - } else if (options.includePrerelease) { - sub = [new Comparator('>=0.0.0-0')]; - } else { - sub = [new Comparator('>=0.0.0')]; - } - } - if (dom.length === 1 && dom[0].semver === ANY) { - if (options.includePrerelease) { - return true; - } else { - dom = [new Comparator('>=0.0.0')]; - } - } - const eqSet = new Set(); - let gt, lt; - for (const c of sub) { - if (c.operator === '>' || c.operator === '>=') { - gt = higherGT(gt, c, options); - } else if (c.operator === '<' || c.operator === '<=') { - lt = lowerLT(lt, c, options); - } else { - eqSet.add(c.semver); - } - } - if (eqSet.size > 1) { - return null; - } - let gtltComp; - if (gt && lt) { - gtltComp = compare(gt.semver, lt.semver, options); - if (gtltComp > 0) { - return null; - } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) { - return null; - } - } - for (const eq of eqSet) { - if (gt && !satisfies(eq, String(gt), options)) { - return null; - } - if (lt && !satisfies(eq, String(lt), options)) { - return null; - } - for (const c of dom) { - if (!satisfies(eq, String(c), options)) { - return false; - } - } - return true; - } - let higher, lower; - let hasDomLT, hasDomGT; - let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false; - let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false; - if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === '<' && needDomLTPre.prerelease[0] === 0) { - needDomLTPre = false; - } - for (const c of dom) { - hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='; - hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='; - if (gt) { - if (needDomGTPre) { - if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) { - needDomGTPre = false; - } - } - if (c.operator === '>' || c.operator === '>=') { - higher = higherGT(gt, c, options); - if (higher === c && higher !== gt) { - return false; - } - } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) { - return false; - } - } - if (lt) { - if (needDomLTPre) { - if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) { - needDomLTPre = false; - } - } - if (c.operator === '<' || c.operator === '<=') { - lower = lowerLT(lt, c, options); - if (lower === c && lower !== lt) { - return false; - } - } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) { - return false; - } - } - if (!c.operator && (lt || gt) && gtltComp !== 0) { - return false; - } - } - if (gt && hasDomLT && !lt && gtltComp !== 0) { - return false; - } - if (lt && hasDomGT && !gt && gtltComp !== 0) { - return false; - } - if (needDomGTPre || needDomLTPre) { - return false; - } - return true; -}; -const higherGT = (a, b, options) => { - if (!a) { - return b; - } - const comp = compare(a.semver, b.semver, options); - return comp > 0 ? a : comp < 0 ? b : b.operator === '>' && a.operator === '>=' ? b : a; -}; -const lowerLT = (a, b, options) => { - if (!a) { - return b; - } - const comp = compare(a.semver, b.semver, options); - return comp < 0 ? a : comp > 0 ? b : b.operator === '<' && a.operator === '<=' ? b : a; -}; -var subset_1 = subset; -const internalRe = re$3.exports; -var semver$1 = { - re: internalRe.re, - src: internalRe.src, - tokens: internalRe.t, - SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION, - SemVer: semver$2, - compareIdentifiers: identifiers.compareIdentifiers, - rcompareIdentifiers: identifiers.rcompareIdentifiers, - parse: parse_1, - valid: valid_1, - clean: clean_1, - inc: inc_1, - diff: diff_1, - major: major_1, - minor: minor_1, - patch: patch_1, - prerelease: prerelease_1, - compare: compare_1, - rcompare: rcompare_1, - compareLoose: compareLoose_1, - compareBuild: compareBuild_1, - sort: sort_1, - rsort: rsort_1, - gt: gt_1, - lt: lt_1, - eq: eq_1, - neq: neq_1, - gte: gte_1, - lte: lte_1, - cmp: cmp_1, - coerce: coerce_1, - Comparator: requireComparator(), - Range: requireRange(), - satisfies: satisfies_1, - toComparators: toComparators_1, - maxSatisfying: maxSatisfying_1, - minSatisfying: minSatisfying_1, - minVersion: minVersion_1, - validRange: valid, - outside: outside_1, - gtr: gtr_1, - ltr: ltr_1, - intersects: intersects_1, - simplifyRange: simplify, - subset: subset_1 -}; -var semver = semver$1; -var builtins = function ({ - version = process.version, - experimental = false -} = {}) { - var coreModules = ['assert', 'buffer', 'child_process', 'cluster', 'console', 'constants', 'crypto', 'dgram', 'dns', 'domain', 'events', 'fs', 'http', 'https', 'module', 'net', 'os', 'path', 'punycode', 'querystring', 'readline', 'repl', 'stream', 'string_decoder', 'sys', 'timers', 'tls', 'tty', 'url', 'util', 'vm', 'zlib']; - if (semver.lt(version, '6.0.0')) coreModules.push('freelist'); - if (semver.gte(version, '1.0.0')) coreModules.push('v8'); - if (semver.gte(version, '1.1.0')) coreModules.push('process'); - if (semver.gte(version, '8.0.0')) coreModules.push('inspector'); - if (semver.gte(version, '8.1.0')) coreModules.push('async_hooks'); - if (semver.gte(version, '8.4.0')) coreModules.push('http2'); - if (semver.gte(version, '8.5.0')) coreModules.push('perf_hooks'); - if (semver.gte(version, '10.0.0')) coreModules.push('trace_events'); - if (semver.gte(version, '10.5.0') && (experimental || semver.gte(version, '12.0.0'))) { - coreModules.push('worker_threads'); - } - if (semver.gte(version, '12.16.0') && experimental) { - coreModules.push('wasi'); - } - return coreModules; -}; -const reader = { - read -}; -function read(jsonPath) { - return find(_path().dirname(jsonPath)); -} -function find(dir) { - try { - const string = _fs().default.readFileSync(_path().toNamespacedPath(_path().join(dir, 'package.json')), 'utf8'); - return { - string - }; - } catch (error) { - if (error.code === 'ENOENT') { - const parent = _path().dirname(dir); - if (dir !== parent) return find(parent); - return { - string: undefined - }; - } - throw error; - } + return data; +} +function _v() { + const data = require("v8"); + _v = function () { + return data; + }; + return data; +} +function _util() { + const data = require("util"); + _util = function () { + return data; + }; + return data; } -const isWindows = process.platform === 'win32'; +function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } +function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +const isWindows = _process().platform === 'win32'; const own$1 = {}.hasOwnProperty; +const classRegExp = /^([A-Z][a-z\d]*)+$/; +const kTypes = new Set(['string', 'function', 'number', 'object', 'Function', 'Object', 'boolean', 'bigint', 'symbol']); const codes = {}; +function formatList(array, type = 'and') { + return array.length < 3 ? array.join(` ${type} `) : `${array.slice(0, -1).join(', ')}, ${type} ${array[array.length - 1]}`; +} const messages = new Map(); const nodeInternalPrefix = '__node_internal_'; let userStackTraceLimit; +codes.ERR_INVALID_ARG_TYPE = createError('ERR_INVALID_ARG_TYPE', (name, expected, actual) => { + _assert()(typeof name === 'string', "'name' must be a string"); + if (!Array.isArray(expected)) { + expected = [expected]; + } + let message = 'The '; + if (name.endsWith(' argument')) { + message += `${name} `; + } else { + const type = name.includes('.') ? 'property' : 'argument'; + message += `"${name}" ${type} `; + } + message += 'must be '; + const types = []; + const instances = []; + const other = []; + for (const value of expected) { + _assert()(typeof value === 'string', 'All expected entries have to be of type string'); + if (kTypes.has(value)) { + types.push(value.toLowerCase()); + } else if (classRegExp.exec(value) === null) { + _assert()(value !== 'object', 'The value "object" should be written as "Object"'); + other.push(value); + } else { + instances.push(value); + } + } + if (instances.length > 0) { + const pos = types.indexOf('object'); + if (pos !== -1) { + types.slice(pos, 1); + instances.push('Object'); + } + } + if (types.length > 0) { + message += `${types.length > 1 ? 'one of type' : 'of type'} ${formatList(types, 'or')}`; + if (instances.length > 0 || other.length > 0) message += ' or '; + } + if (instances.length > 0) { + message += `an instance of ${formatList(instances, 'or')}`; + if (other.length > 0) message += ' or '; + } + if (other.length > 0) { + if (other.length > 1) { + message += `one of ${formatList(other, 'or')}`; + } else { + if (other[0].toLowerCase() !== other[0]) message += 'an '; + message += `${other[0]}`; + } + } + message += `. Received ${determineSpecificType(actual)}`; + return message; +}, TypeError); codes.ERR_INVALID_MODULE_SPECIFIER = createError('ERR_INVALID_MODULE_SPECIFIER', (request, reason, base = undefined) => { return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ''}`; }, TypeError); @@ -2186,6 +144,7 @@ codes.ERR_INVALID_PACKAGE_TARGET = createError('ERR_INVALID_PACKAGE_TARGET', (pk codes.ERR_MODULE_NOT_FOUND = createError('ERR_MODULE_NOT_FOUND', (path, base, type = 'package') => { return `Cannot find ${type} '${path}' imported from ${base}`; }, Error); +codes.ERR_NETWORK_IMPORT_DISALLOWED = createError('ERR_NETWORK_IMPORT_DISALLOWED', "import of '%s' by %s is not supported: %s", Error); codes.ERR_PACKAGE_IMPORT_NOT_DEFINED = createError('ERR_PACKAGE_IMPORT_NOT_DEFINED', (specifier, packagePath, base) => { return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ''} imported from ${base}`; }, TypeError); @@ -2194,7 +153,9 @@ codes.ERR_PACKAGE_PATH_NOT_EXPORTED = createError('ERR_PACKAGE_PATH_NOT_EXPORTED return `Package subpath '${subpath}' is not defined by "exports" in ${pkgPath}package.json${base ? ` imported from ${base}` : ''}`; }, Error); codes.ERR_UNSUPPORTED_DIR_IMPORT = createError('ERR_UNSUPPORTED_DIR_IMPORT', "Directory import '%s' is not supported " + 'resolving ES modules imported from %s', Error); -codes.ERR_UNKNOWN_FILE_EXTENSION = createError('ERR_UNKNOWN_FILE_EXTENSION', 'Unknown file extension "%s" for %s', TypeError); +codes.ERR_UNKNOWN_FILE_EXTENSION = createError('ERR_UNKNOWN_FILE_EXTENSION', (ext, path) => { + return `Unknown file extension "${ext}" for ${path}`; +}, TypeError); codes.ERR_INVALID_ARG_VALUE = createError('ERR_INVALID_ARG_VALUE', (name, value, reason = 'is invalid') => { let inspected = (0, _util().inspect)(value); if (inspected.length > 128) { @@ -2203,8 +164,8 @@ codes.ERR_INVALID_ARG_VALUE = createError('ERR_INVALID_ARG_VALUE', (name, value, const type = name.includes('.') ? 'property' : 'argument'; return `The ${type} '${name}' ${reason}. Received ${inspected}`; }, TypeError); -codes.ERR_UNSUPPORTED_ESM_URL_SCHEME = createError('ERR_UNSUPPORTED_ESM_URL_SCHEME', url => { - let message = 'Only file and data URLs are supported by the default ESM loader'; +codes.ERR_UNSUPPORTED_ESM_URL_SCHEME = createError('ERR_UNSUPPORTED_ESM_URL_SCHEME', (url, supported) => { + let message = `Only URLs with a scheme in: ${formatList(supported)} are supported by the default ESM loader`; if (isWindows && url.protocol.length === 2) { message += '. On Windows, absolute paths must be valid file:// URLs'; } @@ -2223,46 +184,38 @@ function makeNodeErrorWithCode(Base, key) { const error = new Base(); if (isErrorStackTraceLimitWritable()) Error.stackTraceLimit = limit; const message = getMessage(key, args, error); - Object.defineProperty(error, 'message', { - value: message, - enumerable: false, - writable: true, - configurable: true - }); - Object.defineProperty(error, 'toString', { - value() { - return `${this.name} [${key}]: ${this.message}`; + Object.defineProperties(error, { + message: { + value: message, + enumerable: false, + writable: true, + configurable: true }, - enumerable: false, - writable: true, - configurable: true + toString: { + value() { + return `${this.name} [${key}]: ${this.message}`; + }, + enumerable: false, + writable: true, + configurable: true + } }); - addCodeToName(error, Base.name, key); + captureLargerStackTrace(error); error.code = key; return error; } } -const addCodeToName = hideStackFrames(function (error, name, code) { - error = captureLargerStackTrace(error); - error.name = `${name} [${code}]`; - error.stack; - if (name === 'SystemError') { - Object.defineProperty(error, 'name', { - value: name, - enumerable: false, - writable: true, - configurable: true - }); - } else { - delete error.name; - } -}); function isErrorStackTraceLimitWritable() { + try { + if (_v().startupSnapshot.isBuildingSnapshot()) { + return false; + } + } catch (_unused) {} const desc = Object.getOwnPropertyDescriptor(Error, 'stackTraceLimit'); if (desc === undefined) { return Object.isExtensible(Error); } - return own$1.call(desc, 'writable') ? desc.writable : desc.set !== undefined; + return own$1.call(desc, 'writable') && desc.writable !== undefined ? desc.writable : desc.set !== undefined; } function hideStackFrames(fn) { const hidden = nodeInternalPrefix + fn.name; @@ -2283,118 +236,72 @@ const captureLargerStackTrace = hideStackFrames(function (error) { }); function getMessage(key, args, self) { const message = messages.get(key); + _assert()(message !== undefined, 'expected `message` to be found'); if (typeof message === 'function') { _assert()(message.length <= args.length, `Code: ${key}; The provided arguments length (${args.length}) does not ` + `match the required ones (${message.length}).`); return Reflect.apply(message, self, args); } - const expectedLength = (message.match(/%[dfijoOs]/g) || []).length; + const regex = /%[dfijoOs]/g; + let expectedLength = 0; + while (regex.exec(message) !== null) expectedLength++; _assert()(expectedLength === args.length, `Code: ${key}; The provided arguments length (${args.length}) does not ` + `match the required ones (${expectedLength}).`); if (args.length === 0) return message; args.unshift(message); return Reflect.apply(_util().format, null, args); } -const { - ERR_UNKNOWN_FILE_EXTENSION -} = codes; -const extensionFormatMap = { - __proto__: null, - '.cjs': 'commonjs', - '.js': 'module', - '.mjs': 'module' -}; -function defaultGetFormat(url) { - if (url.startsWith('node:')) { - return { - format: 'builtin' - }; +function determineSpecificType(value) { + if (value === null || value === undefined) { + return String(value); } - const parsed = new (_url().URL)(url); - if (parsed.protocol === 'data:') { - const { - 1: mime - } = /^([^/]+\/[^;,]+)[^,]*?(;base64)?,/.exec(parsed.pathname) || [null, null]; - const format = mime === 'text/javascript' ? 'module' : null; - return { - format - }; + if (typeof value === 'function' && value.name) { + return `function ${value.name}`; } - if (parsed.protocol === 'file:') { - const ext = _path().extname(parsed.pathname); - let format; - if (ext === '.js') { - format = getPackageType(parsed.href) === 'module' ? 'module' : 'commonjs'; - } else { - format = extensionFormatMap[ext]; - } - if (!format) { - throw new ERR_UNKNOWN_FILE_EXTENSION(ext, (0, _url().fileURLToPath)(url)); + if (typeof value === 'object') { + if (value.constructor && value.constructor.name) { + return `an instance of ${value.constructor.name}`; } + return `${(0, _util().inspect)(value, { + depth: -1 + })}`; + } + let inspected = (0, _util().inspect)(value, { + colors: false + }); + if (inspected.length > 28) { + inspected = `${inspected.slice(0, 25)}...`; + } + return `type ${typeof value} (${inspected})`; +} +const reader = { + read +}; +var packageJsonReader = reader; +function read(jsonPath) { + try { + const string = _fs().default.readFileSync(_path().toNamespacedPath(_path().join(_path().dirname(jsonPath), 'package.json')), 'utf8'); return { - format: format || null + string }; + } catch (error) { + const exception = error; + if (exception.code === 'ENOENT') { + return { + string: undefined + }; + } + throw exception; } - return { - format: null - }; } -const listOfBuiltins = builtins(); const { - ERR_INVALID_MODULE_SPECIFIER, - ERR_INVALID_PACKAGE_CONFIG, - ERR_INVALID_PACKAGE_TARGET, - ERR_MODULE_NOT_FOUND, - ERR_PACKAGE_IMPORT_NOT_DEFINED, - ERR_PACKAGE_PATH_NOT_EXPORTED, - ERR_UNSUPPORTED_DIR_IMPORT, - ERR_UNSUPPORTED_ESM_URL_SCHEME, - ERR_INVALID_ARG_VALUE + ERR_INVALID_PACKAGE_CONFIG: ERR_INVALID_PACKAGE_CONFIG$1 } = codes; -const own = {}.hasOwnProperty; -const DEFAULT_CONDITIONS = Object.freeze(['node', 'import']); -const DEFAULT_CONDITIONS_SET = new Set(DEFAULT_CONDITIONS); -const invalidSegmentRegEx = /(^|\\|\/)(\.\.?|node_modules)(\\|\/|$)/; -const patternRegEx = /\*/g; -const encodedSepRegEx = /%2f|%2c/i; -const emittedPackageWarnings = new Set(); const packageJsonCache = new Map(); -function emitFolderMapDeprecation(match, pjsonUrl, isExports, base) { - const pjsonPath = (0, _url().fileURLToPath)(pjsonUrl); - if (emittedPackageWarnings.has(pjsonPath + '|' + match)) return; - emittedPackageWarnings.add(pjsonPath + '|' + match); - process.emitWarning(`Use of deprecated folder mapping "${match}" in the ${isExports ? '"exports"' : '"imports"'} field module resolution of the package at ${pjsonPath}${base ? ` imported from ${(0, _url().fileURLToPath)(base)}` : ''}.\n` + `Update this package.json to use a subpath pattern like "${match}*".`, 'DeprecationWarning', 'DEP0148'); -} -function emitLegacyIndexDeprecation(url, packageJsonUrl, base, main) { - const { - format - } = defaultGetFormat(url.href); - if (format !== 'module') return; - const path = (0, _url().fileURLToPath)(url.href); - const pkgPath = (0, _url().fileURLToPath)(new (_url().URL)('.', packageJsonUrl)); - const basePath = (0, _url().fileURLToPath)(base); - if (main) process.emitWarning(`Package ${pkgPath} has a "main" field set to ${JSON.stringify(main)}, ` + `excluding the full filename and extension to the resolved file at "${path.slice(pkgPath.length)}", imported from ${basePath}.\n Automatic extension resolution of the "main" field is` + 'deprecated for ES modules.', 'DeprecationWarning', 'DEP0151');else process.emitWarning(`No "main" or "exports" field defined in the package.json for ${pkgPath} resolving the main entry point "${path.slice(pkgPath.length)}", imported from ${basePath}.\nDefault "index" lookups for the main are deprecated for ES modules.`, 'DeprecationWarning', 'DEP0151'); -} -function getConditionsSet(conditions) { - if (conditions !== undefined && conditions !== DEFAULT_CONDITIONS) { - if (!Array.isArray(conditions)) { - throw new ERR_INVALID_ARG_VALUE('conditions', conditions, 'expected an array'); - } - return new Set(conditions); - } - return DEFAULT_CONDITIONS_SET; -} -function tryStatSync(path) { - try { - return (0, _fs().statSync)(path); - } catch (_unused) { - return new (_fs().Stats)(); - } -} function getPackageConfig(path, specifier, base) { const existing = packageJsonCache.get(path); if (existing !== undefined) { return existing; } - const source = reader.read(path).string; + const source = packageJsonReader.read(path).string; if (source === undefined) { const packageConfig = { pjsonPath: path, @@ -2412,7 +319,8 @@ function getPackageConfig(path, specifier, base) { try { packageJson = JSON.parse(source); } catch (error) { - throw new ERR_INVALID_PACKAGE_CONFIG(path, (base ? `"${specifier}" from ` : '') + (0, _url().fileURLToPath)(base || specifier), error.message); + const exception = error; + throw new ERR_INVALID_PACKAGE_CONFIG$1(path, (base ? `"${specifier}" from ` : '') + (0, _url().fileURLToPath)(base || specifier), exception.message); } const { exports, @@ -2434,7 +342,7 @@ function getPackageConfig(path, specifier, base) { return packageConfig; } function getPackageScopeConfig(resolved) { - let packageJsonUrl = new (_url().URL)('./package.json', resolved); + let packageJsonUrl = new (_url().URL)('package.json', resolved); while (true) { const packageJsonPath = packageJsonUrl.pathname; if (packageJsonPath.endsWith('node_modules/package.json')) break; @@ -2457,13 +365,150 @@ function getPackageScopeConfig(resolved) { packageJsonCache.set(packageJsonPath, packageConfig); return packageConfig; } +function getPackageType(url) { + const packageConfig = getPackageScopeConfig(url); + return packageConfig.type; +} +const { + ERR_UNKNOWN_FILE_EXTENSION +} = codes; +const hasOwnProperty = {}.hasOwnProperty; +const extensionFormatMap = { + __proto__: null, + '.cjs': 'commonjs', + '.js': 'module', + '.json': 'json', + '.mjs': 'module' +}; +function mimeToFormat(mime) { + if (mime && /\s*(text|application)\/javascript\s*(;\s*charset=utf-?8\s*)?/i.test(mime)) return 'module'; + if (mime === 'application/json') return 'json'; + return null; +} +const protocolHandlers = { + __proto__: null, + 'data:': getDataProtocolModuleFormat, + 'file:': getFileProtocolModuleFormat, + 'http:': getHttpProtocolModuleFormat, + 'https:': getHttpProtocolModuleFormat, + 'node:'() { + return 'builtin'; + } +}; +function getDataProtocolModuleFormat(parsed) { + const { + 1: mime + } = /^([^/]+\/[^;,]+)[^,]*?(;base64)?,/.exec(parsed.pathname) || [null, null, null]; + return mimeToFormat(mime); +} +function extname(url) { + const pathname = url.pathname; + let index = pathname.length; + while (index--) { + const code = pathname.codePointAt(index); + if (code === 47) { + return ''; + } + if (code === 46) { + return pathname.codePointAt(index - 1) === 47 ? '' : pathname.slice(index); + } + } + return ''; +} +function getFileProtocolModuleFormat(url, _context, ignoreErrors) { + const ext = extname(url); + if (ext === '.js') { + return getPackageType(url) === 'module' ? 'module' : 'commonjs'; + } + const format = extensionFormatMap[ext]; + if (format) return format; + if (ignoreErrors) { + return undefined; + } + const filepath = (0, _url().fileURLToPath)(url); + throw new ERR_UNKNOWN_FILE_EXTENSION(ext, filepath); +} +function getHttpProtocolModuleFormat() {} +function defaultGetFormatWithoutErrors(url, context) { + if (!hasOwnProperty.call(protocolHandlers, url.protocol)) { + return null; + } + return protocolHandlers[url.protocol](url, context, true) || null; +} +const { + ERR_INVALID_ARG_VALUE +} = codes; +const DEFAULT_CONDITIONS = Object.freeze(['node', 'import']); +const DEFAULT_CONDITIONS_SET = new Set(DEFAULT_CONDITIONS); +function getDefaultConditions() { + return DEFAULT_CONDITIONS; +} +function getDefaultConditionsSet() { + return DEFAULT_CONDITIONS_SET; +} +function getConditionsSet(conditions) { + if (conditions !== undefined && conditions !== getDefaultConditions()) { + if (!Array.isArray(conditions)) { + throw new ERR_INVALID_ARG_VALUE('conditions', conditions, 'expected an array'); + } + return new Set(conditions); + } + return getDefaultConditionsSet(); +} +const RegExpPrototypeSymbolReplace = RegExp.prototype[Symbol.replace]; +const experimentalNetworkImports = false; +const { + ERR_NETWORK_IMPORT_DISALLOWED, + ERR_INVALID_MODULE_SPECIFIER, + ERR_INVALID_PACKAGE_CONFIG, + ERR_INVALID_PACKAGE_TARGET, + ERR_MODULE_NOT_FOUND, + ERR_PACKAGE_IMPORT_NOT_DEFINED, + ERR_PACKAGE_PATH_NOT_EXPORTED, + ERR_UNSUPPORTED_DIR_IMPORT, + ERR_UNSUPPORTED_ESM_URL_SCHEME +} = codes; +const own = {}.hasOwnProperty; +const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))?(\\|\/|$)/i; +const deprecatedInvalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; +const invalidPackageNameRegEx = /^\.|%|\\/; +const patternRegEx = /\*/g; +const encodedSepRegEx = /%2f|%5c/i; +const emittedPackageWarnings = new Set(); +const doubleSlashRegEx = /[/\\]{2}/; +function emitInvalidSegmentDeprecation(target, request, match, packageJsonUrl, internal, base, isTarget) { + const pjsonPath = (0, _url().fileURLToPath)(packageJsonUrl); + const double = doubleSlashRegEx.exec(isTarget ? target : request) !== null; + _process().emitWarning(`Use of deprecated ${double ? 'double slash' : 'leading or trailing slash matching'} resolving "${target}" for module ` + `request "${request}" ${request === match ? '' : `matched to "${match}" `}in the "${internal ? 'imports' : 'exports'}" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${(0, _url().fileURLToPath)(base)}` : ''}.`, 'DeprecationWarning', 'DEP0166'); +} +function emitLegacyIndexDeprecation(url, packageJsonUrl, base, main) { + const format = defaultGetFormatWithoutErrors(url, { + parentURL: base.href + }); + if (format !== 'module') return; + const path = (0, _url().fileURLToPath)(url.href); + const pkgPath = (0, _url().fileURLToPath)(new (_url().URL)('.', packageJsonUrl)); + const basePath = (0, _url().fileURLToPath)(base); + if (main) _process().emitWarning(`Package ${pkgPath} has a "main" field set to ${JSON.stringify(main)}, ` + `excluding the full filename and extension to the resolved file at "${path.slice(pkgPath.length)}", imported from ${basePath}.\n Automatic extension resolution of the "main" field is` + 'deprecated for ES modules.', 'DeprecationWarning', 'DEP0151');else _process().emitWarning(`No "main" or "exports" field defined in the package.json for ${pkgPath} resolving the main entry point "${path.slice(pkgPath.length)}", imported from ${basePath}.\nDefault "index" lookups for the main are deprecated for ES modules.`, 'DeprecationWarning', 'DEP0151'); +} +function tryStatSync(path) { + try { + return (0, _fs().statSync)(path); + } catch (_unused2) { + return new (_fs().Stats)(); + } +} function fileExists(url) { - return tryStatSync((0, _url().fileURLToPath)(url)).isFile(); + const stats = (0, _fs().statSync)(url, { + throwIfNoEntry: false + }); + const isFile = stats ? stats.isFile() : undefined; + return isFile === null || isFile === undefined ? false : isFile; } function legacyMainResolve(packageJsonUrl, packageConfig, base) { let guess; if (packageConfig.main !== undefined) { - guess = new (_url().URL)(`./${packageConfig.main}`, packageJsonUrl); + guess = new (_url().URL)(packageConfig.main, packageJsonUrl); if (fileExists(guess)) return guess; const tries = [`./${packageConfig.main}.js`, `./${packageConfig.main}.json`, `./${packageConfig.main}.node`, `./${packageConfig.main}/index.js`, `./${packageConfig.main}/index.json`, `./${packageConfig.main}/index.node`]; let i = -1; @@ -2490,58 +535,90 @@ function legacyMainResolve(packageJsonUrl, packageConfig, base) { } throw new ERR_MODULE_NOT_FOUND((0, _url().fileURLToPath)(new (_url().URL)('.', packageJsonUrl)), (0, _url().fileURLToPath)(base)); } -function finalizeResolution(resolved, base) { - if (encodedSepRegEx.test(resolved.pathname)) throw new ERR_INVALID_MODULE_SPECIFIER(resolved.pathname, 'must not include encoded "/" or "\\" characters', (0, _url().fileURLToPath)(base)); - const path = (0, _url().fileURLToPath)(resolved); - const stats = tryStatSync(path.endsWith('/') ? path.slice(-1) : path); +function finalizeResolution(resolved, base, preserveSymlinks) { + if (encodedSepRegEx.exec(resolved.pathname) !== null) throw new ERR_INVALID_MODULE_SPECIFIER(resolved.pathname, 'must not include encoded "/" or "\\" characters', (0, _url().fileURLToPath)(base)); + const filePath = (0, _url().fileURLToPath)(resolved); + const stats = tryStatSync(filePath.endsWith('/') ? filePath.slice(-1) : filePath); if (stats.isDirectory()) { - const error = new ERR_UNSUPPORTED_DIR_IMPORT(path, (0, _url().fileURLToPath)(base)); + const error = new ERR_UNSUPPORTED_DIR_IMPORT(filePath, (0, _url().fileURLToPath)(base)); error.url = String(resolved); throw error; } if (!stats.isFile()) { - throw new ERR_MODULE_NOT_FOUND(path || resolved.pathname, base && (0, _url().fileURLToPath)(base), 'module'); + throw new ERR_MODULE_NOT_FOUND(filePath || resolved.pathname, base && (0, _url().fileURLToPath)(base), 'module'); + } + if (!preserveSymlinks) { + const real = (0, _fs().realpathSync)(filePath); + const { + search, + hash + } = resolved; + resolved = (0, _url().pathToFileURL)(real + (filePath.endsWith(_path().sep) ? '/' : '')); + resolved.search = search; + resolved.hash = hash; } return resolved; } -function throwImportNotDefined(specifier, packageJsonUrl, base) { - throw new ERR_PACKAGE_IMPORT_NOT_DEFINED(specifier, packageJsonUrl && (0, _url().fileURLToPath)(new (_url().URL)('.', packageJsonUrl)), (0, _url().fileURLToPath)(base)); +function importNotDefined(specifier, packageJsonUrl, base) { + return new ERR_PACKAGE_IMPORT_NOT_DEFINED(specifier, packageJsonUrl && (0, _url().fileURLToPath)(new (_url().URL)('.', packageJsonUrl)), (0, _url().fileURLToPath)(base)); } -function throwExportsNotFound(subpath, packageJsonUrl, base) { - throw new ERR_PACKAGE_PATH_NOT_EXPORTED((0, _url().fileURLToPath)(new (_url().URL)('.', packageJsonUrl)), subpath, base && (0, _url().fileURLToPath)(base)); +function exportsNotFound(subpath, packageJsonUrl, base) { + return new ERR_PACKAGE_PATH_NOT_EXPORTED((0, _url().fileURLToPath)(new (_url().URL)('.', packageJsonUrl)), subpath, base && (0, _url().fileURLToPath)(base)); } -function throwInvalidSubpath(subpath, packageJsonUrl, internal, base) { - const reason = `request is not a valid subpath for the "${internal ? 'imports' : 'exports'}" resolution of ${(0, _url().fileURLToPath)(packageJsonUrl)}`; - throw new ERR_INVALID_MODULE_SPECIFIER(subpath, reason, base && (0, _url().fileURLToPath)(base)); +function throwInvalidSubpath(request, match, packageJsonUrl, internal, base) { + const reason = `request is not a valid match in pattern "${match}" for the "${internal ? 'imports' : 'exports'}" resolution of ${(0, _url().fileURLToPath)(packageJsonUrl)}`; + throw new ERR_INVALID_MODULE_SPECIFIER(request, reason, base && (0, _url().fileURLToPath)(base)); } -function throwInvalidPackageTarget(subpath, target, packageJsonUrl, internal, base) { +function invalidPackageTarget(subpath, target, packageJsonUrl, internal, base) { target = typeof target === 'object' && target !== null ? JSON.stringify(target, null, '') : `${target}`; - throw new ERR_INVALID_PACKAGE_TARGET((0, _url().fileURLToPath)(new (_url().URL)('.', packageJsonUrl)), subpath, target, internal, base && (0, _url().fileURLToPath)(base)); + return new ERR_INVALID_PACKAGE_TARGET((0, _url().fileURLToPath)(new (_url().URL)('.', packageJsonUrl)), subpath, target, internal, base && (0, _url().fileURLToPath)(base)); } -function resolvePackageTargetString(target, subpath, match, packageJsonUrl, base, pattern, internal, conditions) { - if (subpath !== '' && !pattern && target[target.length - 1] !== '/') throwInvalidPackageTarget(match, target, packageJsonUrl, internal, base); +function resolvePackageTargetString(target, subpath, match, packageJsonUrl, base, pattern, internal, isPathMap, conditions) { + if (subpath !== '' && !pattern && target[target.length - 1] !== '/') throw invalidPackageTarget(match, target, packageJsonUrl, internal, base); if (!target.startsWith('./')) { if (internal && !target.startsWith('../') && !target.startsWith('/')) { let isURL = false; try { new (_url().URL)(target); isURL = true; - } catch (_unused2) {} + } catch (_unused3) {} if (!isURL) { - const exportTarget = pattern ? target.replace(patternRegEx, subpath) : target + subpath; + const exportTarget = pattern ? RegExpPrototypeSymbolReplace.call(patternRegEx, target, () => subpath) : target + subpath; return packageResolve(exportTarget, packageJsonUrl, conditions); } } - throwInvalidPackageTarget(match, target, packageJsonUrl, internal, base); + throw invalidPackageTarget(match, target, packageJsonUrl, internal, base); + } + if (invalidSegmentRegEx.exec(target.slice(2)) !== null) { + if (deprecatedInvalidSegmentRegEx.exec(target.slice(2)) === null) { + if (!isPathMap) { + const request = pattern ? match.replace('*', () => subpath) : match + subpath; + const resolvedTarget = pattern ? RegExpPrototypeSymbolReplace.call(patternRegEx, target, () => subpath) : target; + emitInvalidSegmentDeprecation(resolvedTarget, request, match, packageJsonUrl, internal, base, true); + } + } else { + throw invalidPackageTarget(match, target, packageJsonUrl, internal, base); + } } - if (invalidSegmentRegEx.test(target.slice(2))) throwInvalidPackageTarget(match, target, packageJsonUrl, internal, base); const resolved = new (_url().URL)(target, packageJsonUrl); const resolvedPath = resolved.pathname; const packagePath = new (_url().URL)('.', packageJsonUrl).pathname; - if (!resolvedPath.startsWith(packagePath)) throwInvalidPackageTarget(match, target, packageJsonUrl, internal, base); + if (!resolvedPath.startsWith(packagePath)) throw invalidPackageTarget(match, target, packageJsonUrl, internal, base); if (subpath === '') return resolved; - if (invalidSegmentRegEx.test(subpath)) throwInvalidSubpath(match + subpath, packageJsonUrl, internal, base); - if (pattern) return new (_url().URL)(resolved.href.replace(patternRegEx, subpath)); + if (invalidSegmentRegEx.exec(subpath) !== null) { + const request = pattern ? match.replace('*', () => subpath) : match + subpath; + if (deprecatedInvalidSegmentRegEx.exec(subpath) === null) { + if (!isPathMap) { + const resolvedTarget = pattern ? RegExpPrototypeSymbolReplace.call(patternRegEx, target, () => subpath) : target; + emitInvalidSegmentDeprecation(resolvedTarget, request, match, packageJsonUrl, internal, base, false); + } + } else { + throwInvalidSubpath(request, match, packageJsonUrl, internal, base); + } + } + if (pattern) { + return new (_url().URL)(RegExpPrototypeSymbolReplace.call(patternRegEx, resolved.href, () => subpath)); + } return new (_url().URL)(subpath, resolved); } function isArrayIndex(key) { @@ -2549,9 +626,9 @@ function isArrayIndex(key) { if (`${keyNumber}` !== key) return false; return keyNumber >= 0 && keyNumber < 0xffffffff; } -function resolvePackageTarget(packageJsonUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { +function resolvePackageTarget(packageJsonUrl, target, subpath, packageSubpath, base, pattern, internal, isPathMap, conditions) { if (typeof target === 'string') { - return resolvePackageTargetString(target, subpath, packageSubpath, packageJsonUrl, base, pattern, internal, conditions); + return resolvePackageTargetString(target, subpath, packageSubpath, packageJsonUrl, base, pattern, internal, isPathMap, conditions); } if (Array.isArray(target)) { const targetList = target; @@ -2560,23 +637,24 @@ function resolvePackageTarget(packageJsonUrl, target, subpath, packageSubpath, b let i = -1; while (++i < targetList.length) { const targetItem = targetList[i]; - let resolved; + let resolveResult; try { - resolved = resolvePackageTarget(packageJsonUrl, targetItem, subpath, packageSubpath, base, pattern, internal, conditions); + resolveResult = resolvePackageTarget(packageJsonUrl, targetItem, subpath, packageSubpath, base, pattern, internal, isPathMap, conditions); } catch (error) { - lastException = error; - if (error.code === 'ERR_INVALID_PACKAGE_TARGET') continue; + const exception = error; + lastException = exception; + if (exception.code === 'ERR_INVALID_PACKAGE_TARGET') continue; throw error; } - if (resolved === undefined) continue; - if (resolved === null) { + if (resolveResult === undefined) continue; + if (resolveResult === null) { lastException = null; continue; } - return resolved; + return resolveResult; } if (lastException === undefined || lastException === null) { - return lastException; + return null; } throw lastException; } @@ -2594,17 +672,17 @@ function resolvePackageTarget(packageJsonUrl, target, subpath, packageSubpath, b const key = keys[i]; if (key === 'default' || conditions && conditions.has(key)) { const conditionalTarget = target[key]; - const resolved = resolvePackageTarget(packageJsonUrl, conditionalTarget, subpath, packageSubpath, base, pattern, internal, conditions); - if (resolved === undefined) continue; - return resolved; + const resolveResult = resolvePackageTarget(packageJsonUrl, conditionalTarget, subpath, packageSubpath, base, pattern, internal, isPathMap, conditions); + if (resolveResult === undefined) continue; + return resolveResult; } } - return undefined; + return null; } if (target === null) { return null; } - throwInvalidPackageTarget(packageSubpath, target, packageJsonUrl, internal, base); + throw invalidPackageTarget(packageSubpath, target, packageJsonUrl, internal, base); } function isConditionalExportsMainSugar(exports, packageJsonUrl, base) { if (typeof exports === 'string' || Array.isArray(exports)) return true; @@ -2624,47 +702,70 @@ function isConditionalExportsMainSugar(exports, packageJsonUrl, base) { } return isConditionalSugar; } +function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) { + const pjsonPath = (0, _url().fileURLToPath)(pjsonUrl); + if (emittedPackageWarnings.has(pjsonPath + '|' + match)) return; + emittedPackageWarnings.add(pjsonPath + '|' + match); + _process().emitWarning(`Use of deprecated trailing slash pattern mapping "${match}" in the ` + `"exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${(0, _url().fileURLToPath)(base)}` : ''}. Mapping specifiers ending in "/" is no longer supported.`, 'DeprecationWarning', 'DEP0155'); +} function packageExportsResolve(packageJsonUrl, packageSubpath, packageConfig, base, conditions) { let exports = packageConfig.exports; - if (isConditionalExportsMainSugar(exports, packageJsonUrl, base)) exports = { - '.': exports - }; - if (own.call(exports, packageSubpath)) { - const target = exports[packageSubpath]; - const resolved = resolvePackageTarget(packageJsonUrl, target, '', packageSubpath, base, false, false, conditions); - if (resolved === null || resolved === undefined) throwExportsNotFound(packageSubpath, packageJsonUrl, base); - return { - resolved, - exact: true + if (isConditionalExportsMainSugar(exports, packageJsonUrl, base)) { + exports = { + '.': exports }; } + if (own.call(exports, packageSubpath) && !packageSubpath.includes('*') && !packageSubpath.endsWith('/')) { + const target = exports[packageSubpath]; + const resolveResult = resolvePackageTarget(packageJsonUrl, target, '', packageSubpath, base, false, false, false, conditions); + if (resolveResult === null || resolveResult === undefined) { + throw exportsNotFound(packageSubpath, packageJsonUrl, base); + } + return resolveResult; + } let bestMatch = ''; + let bestMatchSubpath = ''; const keys = Object.getOwnPropertyNames(exports); let i = -1; while (++i < keys.length) { const key = keys[i]; - if (key[key.length - 1] === '*' && packageSubpath.startsWith(key.slice(0, -1)) && packageSubpath.length >= key.length && key.length > bestMatch.length) { - bestMatch = key; - } else if (key[key.length - 1] === '/' && packageSubpath.startsWith(key) && key.length > bestMatch.length) { - bestMatch = key; + const patternIndex = key.indexOf('*'); + if (patternIndex !== -1 && packageSubpath.startsWith(key.slice(0, patternIndex))) { + if (packageSubpath.endsWith('/')) { + emitTrailingSlashPatternDeprecation(packageSubpath, packageJsonUrl, base); + } + const patternTrailer = key.slice(patternIndex + 1); + if (packageSubpath.length >= key.length && packageSubpath.endsWith(patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && key.lastIndexOf('*') === patternIndex) { + bestMatch = key; + bestMatchSubpath = packageSubpath.slice(patternIndex, packageSubpath.length - patternTrailer.length); + } } } if (bestMatch) { const target = exports[bestMatch]; - const pattern = bestMatch[bestMatch.length - 1] === '*'; - const subpath = packageSubpath.slice(bestMatch.length - (pattern ? 1 : 0)); - const resolved = resolvePackageTarget(packageJsonUrl, target, subpath, bestMatch, base, pattern, false, conditions); - if (resolved === null || resolved === undefined) throwExportsNotFound(packageSubpath, packageJsonUrl, base); - if (!pattern) emitFolderMapDeprecation(bestMatch, packageJsonUrl, true, base); - return { - resolved, - exact: pattern - }; - } - throwExportsNotFound(packageSubpath, packageJsonUrl, base); + const resolveResult = resolvePackageTarget(packageJsonUrl, target, bestMatchSubpath, bestMatch, base, true, false, packageSubpath.endsWith('/'), conditions); + if (resolveResult === null || resolveResult === undefined) { + throw exportsNotFound(packageSubpath, packageJsonUrl, base); + } + return resolveResult; + } + throw exportsNotFound(packageSubpath, packageJsonUrl, base); +} +function patternKeyCompare(a, b) { + const aPatternIndex = a.indexOf('*'); + const bPatternIndex = b.indexOf('*'); + const baseLengthA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; + const baseLengthB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; + if (baseLengthA > baseLengthB) return -1; + if (baseLengthB > baseLengthA) return 1; + if (aPatternIndex === -1) return 1; + if (bPatternIndex === -1) return -1; + if (a.length > b.length) return -1; + if (b.length > a.length) return 1; + return 0; } function packageImportsResolve(name, base, conditions) { - if (name === '#' || name.startsWith('#/')) { + if (name === '#' || name.startsWith('#/') || name.endsWith('/')) { const reason = 'is not a valid internal imports specifier name'; throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, (0, _url().fileURLToPath)(base)); } @@ -2674,45 +775,38 @@ function packageImportsResolve(name, base, conditions) { packageJsonUrl = (0, _url().pathToFileURL)(packageConfig.pjsonPath); const imports = packageConfig.imports; if (imports) { - if (own.call(imports, name)) { - const resolved = resolvePackageTarget(packageJsonUrl, imports[name], '', name, base, false, true, conditions); - if (resolved !== null) return { - resolved, - exact: true - }; + if (own.call(imports, name) && !name.includes('*')) { + const resolveResult = resolvePackageTarget(packageJsonUrl, imports[name], '', name, base, false, true, false, conditions); + if (resolveResult !== null && resolveResult !== undefined) { + return resolveResult; + } } else { let bestMatch = ''; + let bestMatchSubpath = ''; const keys = Object.getOwnPropertyNames(imports); let i = -1; while (++i < keys.length) { const key = keys[i]; - if (key[key.length - 1] === '*' && name.startsWith(key.slice(0, -1)) && name.length >= key.length && key.length > bestMatch.length) { - bestMatch = key; - } else if (key[key.length - 1] === '/' && name.startsWith(key) && key.length > bestMatch.length) { - bestMatch = key; + const patternIndex = key.indexOf('*'); + if (patternIndex !== -1 && name.startsWith(key.slice(0, -1))) { + const patternTrailer = key.slice(patternIndex + 1); + if (name.length >= key.length && name.endsWith(patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && key.lastIndexOf('*') === patternIndex) { + bestMatch = key; + bestMatchSubpath = name.slice(patternIndex, name.length - patternTrailer.length); + } } } if (bestMatch) { const target = imports[bestMatch]; - const pattern = bestMatch[bestMatch.length - 1] === '*'; - const subpath = name.slice(bestMatch.length - (pattern ? 1 : 0)); - const resolved = resolvePackageTarget(packageJsonUrl, target, subpath, bestMatch, base, pattern, true, conditions); - if (resolved !== null) { - if (!pattern) emitFolderMapDeprecation(bestMatch, packageJsonUrl, false, base); - return { - resolved, - exact: pattern - }; + const resolveResult = resolvePackageTarget(packageJsonUrl, target, bestMatchSubpath, bestMatch, base, true, true, false, conditions); + if (resolveResult !== null && resolveResult !== undefined) { + return resolveResult; } } } } } - throwImportNotDefined(name, packageJsonUrl, base); -} -function getPackageType(url) { - const packageConfig = getPackageScopeConfig(url); - return packageConfig.type; + throw importNotDefined(name, packageJsonUrl, base); } function parsePackageName(specifier, base) { let separatorIndex = specifier.indexOf('/'); @@ -2727,12 +821,8 @@ function parsePackageName(specifier, base) { } } const packageName = separatorIndex === -1 ? specifier : specifier.slice(0, separatorIndex); - let i = -1; - while (++i < packageName.length) { - if (packageName[i] === '%' || packageName[i] === '\\') { - validPackageName = false; - break; - } + if (invalidPackageNameRegEx.exec(packageName) !== null) { + validPackageName = false; } if (!validPackageName) { throw new ERR_INVALID_MODULE_SPECIFIER(specifier, 'is not a valid package name', (0, _url().fileURLToPath)(base)); @@ -2745,6 +835,9 @@ function parsePackageName(specifier, base) { }; } function packageResolve(specifier, base, conditions) { + if (_module().builtinModules.includes(specifier)) { + return new (_url().URL)('node:' + specifier); + } const { packageName, packageSubpath, @@ -2754,7 +847,7 @@ function packageResolve(specifier, base, conditions) { if (packageConfig.exists) { const packageJsonUrl = (0, _url().pathToFileURL)(packageConfig.pjsonPath); if (packageConfig.name === packageName && packageConfig.exports !== undefined && packageConfig.exports !== null) { - return packageExportsResolve(packageJsonUrl, packageSubpath, packageConfig, base, conditions).resolved; + return packageExportsResolve(packageJsonUrl, packageSubpath, packageConfig, base, conditions); } } let packageJsonUrl = new (_url().URL)('./node_modules/' + packageName + '/package.json', base); @@ -2769,8 +862,12 @@ function packageResolve(specifier, base, conditions) { continue; } const packageConfig = getPackageConfig(packageJsonPath, specifier, base); - if (packageConfig.exports !== undefined && packageConfig.exports !== null) return packageExportsResolve(packageJsonUrl, packageSubpath, packageConfig, base, conditions).resolved; - if (packageSubpath === '.') return legacyMainResolve(packageJsonUrl, packageConfig, base); + if (packageConfig.exports !== undefined && packageConfig.exports !== null) { + return packageExportsResolve(packageJsonUrl, packageSubpath, packageConfig, base, conditions); + } + if (packageSubpath === '.') { + return legacyMainResolve(packageJsonUrl, packageConfig, base); + } return new (_url().URL)(packageSubpath, packageJsonUrl); } while (packageJsonPath.length !== lastPath.length); throw new ERR_MODULE_NOT_FOUND(packageName, (0, _url().fileURLToPath)(base)); @@ -2789,77 +886,126 @@ function shouldBeTreatedAsRelativeOrAbsolutePath(specifier) { if (specifier[0] === '/') return true; return isRelativeSpecifier(specifier); } -function moduleResolve(specifier, base, conditions) { +function moduleResolve(specifier, base, conditions, preserveSymlinks) { + const protocol = base.protocol; + const isRemote = protocol === 'http:' || protocol === 'https:'; let resolved; if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) { resolved = new (_url().URL)(specifier, base); - } else if (specifier[0] === '#') { - ({ - resolved - } = packageImportsResolve(specifier, base, conditions)); + } else if (!isRemote && specifier[0] === '#') { + resolved = packageImportsResolve(specifier, base, conditions); } else { try { resolved = new (_url().URL)(specifier); - } catch (_unused3) { - resolved = packageResolve(specifier, base, conditions); + } catch (_unused4) { + if (!isRemote) { + resolved = packageResolve(specifier, base, conditions); + } + } + } + _assert()(resolved !== undefined, 'expected to be defined'); + if (resolved.protocol !== 'file:') { + return resolved; + } + return finalizeResolution(resolved, base, preserveSymlinks); +} +function checkIfDisallowedImport(specifier, parsed, parsedParentURL) { + if (parsedParentURL) { + const parentProtocol = parsedParentURL.protocol; + if (parentProtocol === 'http:' || parentProtocol === 'https:') { + if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) { + const parsedProtocol = parsed == null ? void 0 : parsed.protocol; + if (parsedProtocol && parsedProtocol !== 'https:' && parsedProtocol !== 'http:') { + throw new ERR_NETWORK_IMPORT_DISALLOWED(specifier, parsedParentURL, 'remote imports cannot import from a local location.'); + } + return { + url: (parsed == null ? void 0 : parsed.href) || '' + }; + } + if (_module().builtinModules.includes(specifier)) { + throw new ERR_NETWORK_IMPORT_DISALLOWED(specifier, parsedParentURL, 'remote imports cannot import from a local location.'); + } + throw new ERR_NETWORK_IMPORT_DISALLOWED(specifier, parsedParentURL, 'only relative and absolute specifiers are supported.'); } } - return finalizeResolution(resolved, base); +} +function isURL(self) { + return Boolean(self && typeof self === 'object' && 'href' in self && typeof self.href === 'string' && 'protocol' in self && typeof self.protocol === 'string' && self.href && self.protocol); +} +function throwIfInvalidParentURL(parentURL) { + if (parentURL === undefined) { + return; + } + if (typeof parentURL !== 'string' && !isURL(parentURL)) { + throw new codes.ERR_INVALID_ARG_TYPE('parentURL', ['string', 'URL'], parentURL); + } +} +function throwIfUnsupportedURLProtocol(url) { + const protocol = url.protocol; + if (protocol !== 'file:' && protocol !== 'data:' && protocol !== 'node:') { + throw new ERR_UNSUPPORTED_ESM_URL_SCHEME(url); + } +} +function throwIfUnsupportedURLScheme(parsed, experimentalNetworkImports) { + const protocol = parsed == null ? void 0 : parsed.protocol; + if (protocol && protocol !== 'file:' && protocol !== 'data:' && (!experimentalNetworkImports || protocol !== 'https:' && protocol !== 'http:')) { + throw new ERR_UNSUPPORTED_ESM_URL_SCHEME(parsed, ['file', 'data'].concat(experimentalNetworkImports ? ['https', 'http'] : [])); + } } function defaultResolve(specifier, context = {}) { const { parentURL } = context; + _assert()(parentURL !== undefined, 'expected `parentURL` to be defined'); + throwIfInvalidParentURL(parentURL); + let parsedParentURL; + if (parentURL) { + try { + parsedParentURL = new (_url().URL)(parentURL); + } catch (_unused5) {} + } let parsed; try { - parsed = new (_url().URL)(specifier); - if (parsed.protocol === 'data:') { + parsed = shouldBeTreatedAsRelativeOrAbsolutePath(specifier) ? new (_url().URL)(specifier, parsedParentURL) : new (_url().URL)(specifier); + const protocol = parsed.protocol; + if (protocol === 'data:' || experimentalNetworkImports && (protocol === 'https:' || protocol === 'http:')) { return { - url: specifier + url: parsed.href, + format: null }; } - } catch (_unused4) {} + } catch (_unused6) {} + const maybeReturn = checkIfDisallowedImport(specifier, parsed, parsedParentURL); + if (maybeReturn) return maybeReturn; if (parsed && parsed.protocol === 'node:') return { url: specifier }; - if (parsed && parsed.protocol !== 'file:' && parsed.protocol !== 'data:') throw new ERR_UNSUPPORTED_ESM_URL_SCHEME(parsed); - if (listOfBuiltins.includes(specifier)) { - return { - url: 'node:' + specifier - }; - } - if (parentURL.startsWith('data:')) { - new (_url().URL)(specifier, parentURL); - } + throwIfUnsupportedURLScheme(parsed, experimentalNetworkImports); const conditions = getConditionsSet(context.conditions); - let url = moduleResolve(specifier, new (_url().URL)(parentURL), conditions); - const urlPath = (0, _url().fileURLToPath)(url); - const real = (0, _fs().realpathSync)(urlPath); - const old = url; - url = (0, _url().pathToFileURL)(real + (urlPath.endsWith(_path().sep) ? '/' : '')); - url.search = old.search; - url.hash = old.hash; + const url = moduleResolve(specifier, new (_url().URL)(parentURL), conditions, false); + throwIfUnsupportedURLProtocol(url); return { - url: `${url}` + url: url.href, + format: defaultGetFormatWithoutErrors(url, { + parentURL + }) }; } -function resolve(_x, _x2) { - return _resolve.apply(this, arguments); -} -function _resolve() { - _resolve = _asyncToGenerator(function* (specifier, parent) { - if (!parent) { - throw new Error('Please pass `parent`: `import-meta-resolve` cannot ponyfill that'); - } - try { - return defaultResolve(specifier, { - parentURL: parent - }).url; - } catch (error) { - return error.code === 'ERR_UNSUPPORTED_DIR_IMPORT' ? error.url : Promise.reject(error); +function resolve(specifier, parent) { + if (!parent) { + throw new Error('Please pass `parent`: `import-meta-resolve` cannot ponyfill that'); + } + try { + return defaultResolve(specifier, { + parentURL: parent + }).url; + } catch (error) { + const exception = error; + if (exception.code === 'ERR_UNSUPPORTED_DIR_IMPORT' && typeof exception.url === 'string') { + return exception.url; } - }); - return _resolve.apply(this, arguments); + throw error; + } } 0 && 0; diff --git a/node_modules/@babel/core/lib/vendor/import-meta-resolve.js.map b/node_modules/@babel/core/lib/vendor/import-meta-resolve.js.map index ccccfa3ea..27f0d2900 100644 --- a/node_modules/@babel/core/lib/vendor/import-meta-resolve.js.map +++ b/node_modules/@babel/core/lib/vendor/import-meta-resolve.js.map @@ -1 +1 @@ -{"version":3,"names":["_url","data","require","_fs","_interopRequireWildcard","_path","_assert","_util","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","re$3","exports","SEMVER_SPEC_VERSION","MAX_LENGTH$2","MAX_SAFE_INTEGER$1","Number","MAX_SAFE_INTEGER","MAX_SAFE_COMPONENT_LENGTH","constants","MAX_LENGTH","debug$1","process","env","NODE_DEBUG","test","console","debug_1","module","debug","re","src","t","R","createToken","name","isGlobal","index","RegExp","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCE","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","opts","parseOptions$2","options","loose","filter","k","reduce","o","parseOptions_1","numeric","compareIdentifiers$1","a","b","anum","bnum","rcompareIdentifiers","identifiers","compareIdentifiers","MAX_LENGTH$1","re$2","t$2","parseOptions$1","SemVer$c","constructor","version","includePrerelease","TypeError","length","m","trim","match","LOOSE","FULL","raw","major","minor","patch","prerelease","split","map","id","num","build","format","join","toString","compare","other","compareMain","comparePre","i","compareBuild","inc","release","identifier","push","isNaN","Error","semver$2","re$1","t$1","SemVer$b","parseOptions","parse$5","r","er","parse_1","parse$4","valid$1","v","valid_1","parse$3","clean","s","replace","clean_1","SemVer$a","inc_1","SemVer$9","compare$a","compare_1","compare$9","eq$2","eq_1","parse$2","eq$1","diff","version1","version2","v1","v2","hasPre","prefix","defaultResult","diff_1","SemVer$8","major_1","SemVer$7","minor_1","SemVer$6","patch_1","parse$1","parsed","prerelease_1","compare$8","rcompare","rcompare_1","compare$7","compareLoose","compareLoose_1","SemVer$5","compareBuild$2","versionA","versionB","compareBuild_1","compareBuild$1","sort","list","sort_1","rsort","rsort_1","compare$6","gt$3","gt_1","compare$5","lt$2","lt_1","compare$4","neq$1","neq_1","compare$3","gte$2","gte_1","compare$2","lte$2","lte_1","eq","neq","gt$2","gte$1","lt$1","lte$1","cmp","op","cmp_1","SemVer$4","parse","coerce","String","rtl","next","COERCERTL","exec","lastIndex","coerce_1","iterator","hasRequiredIterator","requireIterator","Yallist","Symbol","walker","head","yallist","hasRequiredYallist","requireYallist","Node","create","tail","forEach","item","l","removeNode","node","prev","unshiftNode","pushNode","unshift","pop","res","shift","thisp","forEachReverse","n","getReverse","mapReverse","initial","acc","reduceReverse","toArray","arr","Array","toArrayReverse","slice","from","to","ret","sliceReverse","splice","start","deleteCount","nodes","insert","reverse","p","inserted","lruCache","hasRequiredLruCache","requireLruCache","MAX","LENGTH","LENGTH_CALCULATOR","ALLOW_STALE","MAX_AGE","DISPOSE","NO_DISPOSE_ON_SET","LRU_LIST","CACHE","UPDATE_AGE_ON_GET","naiveLength","LRUCache","max","Infinity","lc","stale","maxAge","dispose","noDisposeOnSet","updateAgeOnGet","reset","mL","allowStale","mA","lengthCalculator","lC","hit","itemCount","rforEach","forEachStep","keys","values","Map","dump","isStale","e","now","h","dumpLru","Date","len","del","Entry","peek","load","expiresAt","prune","doUse","delete","range","hasRequiredRange","requireRange","Range","Comparator","parseRange","c","first","isNullSet","isAny","comps","memoOpts","memoKey","cached","hr","HYPHENRANGELOOSE","HYPHENRANGE","hyphenReplace","COMPARATORTRIM","TILDETRIM","CARETTRIM","rangeList","comp","parseComparator","replaceGTE0","COMPARATORLOOSE","rangeMap","comparators","size","result","intersects","some","thisComparators","isSatisfiable","rangeComparators","every","thisComparator","rangeComparator","SemVer","testSet","LRU","requireComparator","remainingComparators","testComparator","otherComparator","replaceCarets","replaceTildes","replaceXRanges","replaceStars","isX","toLowerCase","replaceTilde","TILDELOOSE","TILDE","_","M","pr","replaceCaret","CARETLOOSE","CARET","z","replaceXRange","XRANGELOOSE","XRANGE","gtlt","xM","xm","xp","anyX","STAR","GTE0PRE","GTE0","incPr","$0","fM","fm","fp","fpr","fb","tM","tm","tp","tpr","tb","semver","ANY","allowed","comparator","hasRequiredComparator","operator","COMPARATOR","sameDirectionIncreasing","sameDirectionDecreasing","sameSemVer","differentDirectionsInclusive","oppositeDirectionsLessThan","oppositeDirectionsGreaterThan","Range$8","satisfies$3","satisfies_1","Range$7","toComparators","toComparators_1","SemVer$3","Range$6","maxSatisfying","versions","maxSV","rangeObj","maxSatisfying_1","SemVer$2","Range$5","minSatisfying","min","minSV","minSatisfying_1","SemVer$1","Range$4","gt$1","minVersion","minver","setMin","compver","minVersion_1","Range$3","validRange","valid","Comparator$1","ANY$1","Range$2","satisfies$2","gt","lt","lte","gte","outside$2","hilo","gtfn","ltefn","ltfn","ecomp","high","low","outside_1","outside$1","gtr","gtr_1","outside","ltr","ltr_1","Range$1","r1","r2","intersects_1","satisfies$1","compare$1","simplify","included","ranges","simplified","original","satisfies","subset","sub","dom","sawNonNull","OUTER","simpleSub","simpleDom","isSub","simpleSubset","eqSet","Set","higherGT","lowerLT","add","gtltComp","higher","lower","hasDomLT","hasDomGT","needDomLTPre","needDomGTPre","subset_1","internalRe","semver$1","tokens","simplifyRange","builtins","experimental","coreModules","reader","read","jsonPath","find","path","dirname","dir","string","fs","readFileSync","toNamespacedPath","code","parent","isWindows","platform","own$1","codes","messages","nodeInternalPrefix","userStackTraceLimit","ERR_INVALID_MODULE_SPECIFIER","createError","request","reason","base","ERR_INVALID_PACKAGE_CONFIG","message","ERR_INVALID_PACKAGE_TARGET","pkgPath","target","isImport","relError","startsWith","assert","JSON","stringify","ERR_MODULE_NOT_FOUND","type","ERR_PACKAGE_IMPORT_NOT_DEFINED","specifier","packagePath","ERR_PACKAGE_PATH_NOT_EXPORTED","subpath","ERR_UNSUPPORTED_DIR_IMPORT","ERR_UNKNOWN_FILE_EXTENSION","ERR_INVALID_ARG_VALUE","inspected","inspect","includes","ERR_UNSUPPORTED_ESM_URL_SCHEME","url","protocol","sym","def","makeNodeErrorWithCode","Base","NodeError","limit","stackTraceLimit","isErrorStackTraceLimitWritable","getMessage","enumerable","writable","configurable","addCodeToName","hideStackFrames","captureLargerStackTrace","stack","isExtensible","hidden","stackTraceLimitIsWritable","POSITIVE_INFINITY","captureStackTrace","Reflect","expectedLength","extensionFormatMap","__proto__","defaultGetFormat","URL","mime","pathname","ext","extname","getPackageType","href","fileURLToPath","listOfBuiltins","own","DEFAULT_CONDITIONS","freeze","DEFAULT_CONDITIONS_SET","invalidSegmentRegEx","patternRegEx","encodedSepRegEx","emittedPackageWarnings","packageJsonCache","emitFolderMapDeprecation","pjsonUrl","isExports","pjsonPath","emitWarning","emitLegacyIndexDeprecation","packageJsonUrl","main","basePath","getConditionsSet","conditions","isArray","tryStatSync","statSync","_unused","Stats","getPackageConfig","existing","source","packageConfig","exists","imports","packageJson","getPackageScopeConfig","resolved","packageJsonPath","endsWith","lastPackageJsonUrl","fileExists","isFile","legacyMainResolve","guess","tries","finalizeResolution","stats","isDirectory","throwImportNotDefined","throwExportsNotFound","throwInvalidSubpath","internal","throwInvalidPackageTarget","resolvePackageTargetString","pattern","isURL","_unused2","exportTarget","packageResolve","resolvedPath","isArrayIndex","keyNumber","resolvePackageTarget","packageSubpath","targetList","lastException","targetItem","getOwnPropertyNames","conditionalTarget","isConditionalExportsMainSugar","isConditionalSugar","j","curIsConditionalSugar","packageExportsResolve","exact","bestMatch","packageImportsResolve","pathToFileURL","parsePackageName","separatorIndex","indexOf","validPackageName","isScoped","packageName","lastPath","stat","isRelativeSpecifier","shouldBeTreatedAsRelativeOrAbsolutePath","moduleResolve","_unused3","defaultResolve","context","parentURL","_unused4","urlPath","real","realpathSync","old","sep","search","hash","_x","_x2","_resolve"],"sources":["../../src/vendor/import-meta-resolve.js"],"sourcesContent":["\n/****************************************************************************\\\n * NOTE FROM BABEL AUTHORS *\n * This file is inlined from https://github.com/wooorm/import-meta-resolve, *\n * because we need to compile it to CommonJS. *\n\\****************************************************************************/\n\n/*\n(The MIT License)\n\nCopyright (c) 2021 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n---\n\nThis is a derivative work based on:\n.\nWhich is licensed:\n\n\"\"\"\nCopyright Node.js contributors. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to\ndeal in the Software without restriction, including without limitation the\nrights to use, copy, modify, merge, publish, distribute, sublicense, and/or\nsell copies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\nIN THE SOFTWARE.\n\"\"\"\n\nThis license applies to parts of Node.js originating from the\nhttps://github.com/joyent/node repository:\n\n\"\"\"\nCopyright Joyent, Inc. and other Node contributors. All rights reserved.\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to\ndeal in the Software without restriction, including without limitation the\nrights to use, copy, modify, merge, publish, distribute, sublicense, and/or\nsell copies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\nIN THE SOFTWARE.\n\"\"\"\n*/\n\nimport { URL, fileURLToPath, pathToFileURL } from 'url';\nimport fs, { realpathSync, statSync, Stats } from 'fs';\nimport path from 'path';\nimport assert from 'assert';\nimport { format, inspect } from 'util';\n\nvar re$3 = {exports: {}};\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0';\n\nconst MAX_LENGTH$2 = 256;\nconst MAX_SAFE_INTEGER$1 = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991;\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16;\n\nvar constants = {\n SEMVER_SPEC_VERSION,\n MAX_LENGTH: MAX_LENGTH$2,\n MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$1,\n MAX_SAFE_COMPONENT_LENGTH,\n};\n\nconst debug$1 = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {};\n\nvar debug_1 = debug$1;\n\n(function (module, exports) {\n\tconst { MAX_SAFE_COMPONENT_LENGTH } = constants;\n\tconst debug = debug_1;\n\texports = module.exports = {};\n\n\t// The actual regexps go on exports.re\n\tconst re = exports.re = [];\n\tconst src = exports.src = [];\n\tconst t = exports.t = {};\n\tlet R = 0;\n\n\tconst createToken = (name, value, isGlobal) => {\n\t const index = R++;\n\t debug(name, index, value);\n\t t[name] = index;\n\t src[index] = value;\n\t re[index] = new RegExp(value, isGlobal ? 'g' : undefined);\n\t};\n\n\t// The following Regular Expressions can be used for tokenizing,\n\t// validating, and parsing SemVer version strings.\n\n\t// ## Numeric Identifier\n\t// A single `0`, or a non-zero digit followed by zero or more digits.\n\n\tcreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*');\n\tcreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+');\n\n\t// ## Non-numeric Identifier\n\t// Zero or more digits, followed by a letter or hyphen, and then zero or\n\t// more letters, digits, or hyphens.\n\n\tcreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*');\n\n\t// ## Main Version\n\t// Three dot-separated numeric identifiers.\n\n\tcreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n\t `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n\t `(${src[t.NUMERICIDENTIFIER]})`);\n\n\tcreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n\t `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n\t `(${src[t.NUMERICIDENTIFIERLOOSE]})`);\n\n\t// ## Pre-release Version Identifier\n\t// A numeric identifier, or a non-numeric identifier.\n\n\tcreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n\t}|${src[t.NONNUMERICIDENTIFIER]})`);\n\n\tcreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n\t}|${src[t.NONNUMERICIDENTIFIER]})`);\n\n\t// ## Pre-release Version\n\t// Hyphen, followed by one or more dot-separated pre-release version\n\t// identifiers.\n\n\tcreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n\t}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`);\n\n\tcreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n\t}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);\n\n\t// ## Build Metadata Identifier\n\t// Any combination of digits, letters, or hyphens.\n\n\tcreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+');\n\n\t// ## Build Metadata\n\t// Plus sign, followed by one or more period-separated build metadata\n\t// identifiers.\n\n\tcreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n\t}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`);\n\n\t// ## Full Version String\n\t// A main version, followed optionally by a pre-release version and\n\t// build metadata.\n\n\t// Note that the only major, minor, patch, and pre-release sections of\n\t// the version string are capturing groups. The build metadata is not a\n\t// capturing group, because it should not ever be used in version\n\t// comparison.\n\n\tcreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n\t}${src[t.PRERELEASE]}?${\n\t src[t.BUILD]}?`);\n\n\tcreateToken('FULL', `^${src[t.FULLPLAIN]}$`);\n\n\t// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n\t// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n\t// common in the npm registry.\n\tcreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n\t}${src[t.PRERELEASELOOSE]}?${\n\t src[t.BUILD]}?`);\n\n\tcreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`);\n\n\tcreateToken('GTLT', '((?:<|>)?=?)');\n\n\t// Something like \"2.*\" or \"1.2.x\".\n\t// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n\t// Only the first item is strictly required.\n\tcreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);\n\tcreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`);\n\n\tcreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n\t `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n\t `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n\t `(?:${src[t.PRERELEASE]})?${\n\t src[t.BUILD]}?` +\n\t `)?)?`);\n\n\tcreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n\t `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n\t `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n\t `(?:${src[t.PRERELEASELOOSE]})?${\n\t src[t.BUILD]}?` +\n\t `)?)?`);\n\n\tcreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`);\n\tcreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`);\n\n\t// Coercion.\n\t// Extract anything that could conceivably be a part of a valid semver\n\tcreateToken('COERCE', `${'(^|[^\\\\d])' +\n\t '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n\t `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n\t `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n\t `(?:$|[^\\\\d])`);\n\tcreateToken('COERCERTL', src[t.COERCE], true);\n\n\t// Tilde ranges.\n\t// Meaning is \"reasonably at or greater than\"\n\tcreateToken('LONETILDE', '(?:~>?)');\n\n\tcreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true);\n\texports.tildeTrimReplace = '$1~';\n\n\tcreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);\n\tcreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);\n\n\t// Caret ranges.\n\t// Meaning is \"at least and backwards compatible with\"\n\tcreateToken('LONECARET', '(?:\\\\^)');\n\n\tcreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true);\n\texports.caretTrimReplace = '$1^';\n\n\tcreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);\n\tcreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);\n\n\t// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\n\tcreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`);\n\tcreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`);\n\n\t// An expression to strip any whitespace between the gtlt and the thing\n\t// it modifies, so that `> 1.2.3` ==> `>1.2.3`\n\tcreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n\t}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);\n\texports.comparatorTrimReplace = '$1$2$3';\n\n\t// Something like `1.2.3 - 1.2.4`\n\t// Note that these all use the loose form, because they'll be\n\t// checked against either the strict or loose comparator form\n\t// later.\n\tcreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n\t `\\\\s+-\\\\s+` +\n\t `(${src[t.XRANGEPLAIN]})` +\n\t `\\\\s*$`);\n\n\tcreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n\t `\\\\s+-\\\\s+` +\n\t `(${src[t.XRANGEPLAINLOOSE]})` +\n\t `\\\\s*$`);\n\n\t// Star ranges basically just allow anything at all.\n\tcreateToken('STAR', '(<|>)?=?\\\\s*\\\\*');\n\t// >=0.0.0 is like a star\n\tcreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$');\n\tcreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$');\n} (re$3, re$3.exports));\n\n// parse out just the options we care about so we always get a consistent\n// obj with keys in a consistent order.\nconst opts = ['includePrerelease', 'loose', 'rtl'];\nconst parseOptions$2 = options =>\n !options ? {}\n : typeof options !== 'object' ? { loose: true }\n : opts.filter(k => options[k]).reduce((o, k) => {\n o[k] = true;\n return o\n }, {});\nvar parseOptions_1 = parseOptions$2;\n\nconst numeric = /^[0-9]+$/;\nconst compareIdentifiers$1 = (a, b) => {\n const anum = numeric.test(a);\n const bnum = numeric.test(b);\n\n if (anum && bnum) {\n a = +a;\n b = +b;\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n};\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers$1(b, a);\n\nvar identifiers = {\n compareIdentifiers: compareIdentifiers$1,\n rcompareIdentifiers,\n};\n\nconst debug = debug_1;\nconst { MAX_LENGTH: MAX_LENGTH$1, MAX_SAFE_INTEGER } = constants;\nconst { re: re$2, t: t$2 } = re$3.exports;\n\nconst parseOptions$1 = parseOptions_1;\nconst { compareIdentifiers } = identifiers;\nclass SemVer$c {\n constructor (version, options) {\n options = parseOptions$1(options);\n\n if (version instanceof SemVer$c) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version;\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n if (version.length > MAX_LENGTH$1) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH$1} characters`\n )\n }\n\n debug('SemVer', version, options);\n this.options = options;\n this.loose = !!options.loose;\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease;\n\n const m = version.trim().match(options.loose ? re$2[t$2.LOOSE] : re$2[t$2.FULL]);\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version;\n\n // these are actually numbers\n this.major = +m[1];\n this.minor = +m[2];\n this.patch = +m[3];\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = [];\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id;\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n });\n }\n\n this.build = m[5] ? m[5].split('.') : [];\n this.format();\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`;\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`;\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other);\n if (!(other instanceof SemVer$c)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer$c(other, this.options);\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer$c)) {\n other = new SemVer$c(other, this.options);\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer$c)) {\n other = new SemVer$c(other, this.options);\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0;\n do {\n const a = this.prerelease[i];\n const b = other.prerelease[i];\n debug('prerelease compare', i, a, b);\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer$c)) {\n other = new SemVer$c(other, this.options);\n }\n\n let i = 0;\n do {\n const a = this.build[i];\n const b = other.build[i];\n debug('prerelease compare', i, a, b);\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc('pre', identifier);\n break\n case 'preminor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc('pre', identifier);\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0;\n this.inc('patch', identifier);\n this.inc('pre', identifier);\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier);\n }\n this.inc('pre', identifier);\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++;\n }\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++;\n }\n this.patch = 0;\n this.prerelease = [];\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++;\n }\n this.prerelease = [];\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0];\n } else {\n let i = this.prerelease.length;\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++;\n i = -2;\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0);\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0];\n }\n } else {\n this.prerelease = [identifier, 0];\n }\n }\n break\n\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format();\n this.raw = this.version;\n return this\n }\n}\n\nvar semver$2 = SemVer$c;\n\nconst { MAX_LENGTH } = constants;\nconst { re: re$1, t: t$1 } = re$3.exports;\nconst SemVer$b = semver$2;\n\nconst parseOptions = parseOptions_1;\nconst parse$5 = (version, options) => {\n options = parseOptions(options);\n\n if (version instanceof SemVer$b) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n const r = options.loose ? re$1[t$1.LOOSE] : re$1[t$1.FULL];\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer$b(version, options)\n } catch (er) {\n return null\n }\n};\n\nvar parse_1 = parse$5;\n\nconst parse$4 = parse_1;\nconst valid$1 = (version, options) => {\n const v = parse$4(version, options);\n return v ? v.version : null\n};\nvar valid_1 = valid$1;\n\nconst parse$3 = parse_1;\nconst clean = (version, options) => {\n const s = parse$3(version.trim().replace(/^[=v]+/, ''), options);\n return s ? s.version : null\n};\nvar clean_1 = clean;\n\nconst SemVer$a = semver$2;\n\nconst inc = (version, release, options, identifier) => {\n if (typeof (options) === 'string') {\n identifier = options;\n options = undefined;\n }\n\n try {\n return new SemVer$a(\n version instanceof SemVer$a ? version.version : version,\n options\n ).inc(release, identifier).version\n } catch (er) {\n return null\n }\n};\nvar inc_1 = inc;\n\nconst SemVer$9 = semver$2;\nconst compare$a = (a, b, loose) =>\n new SemVer$9(a, loose).compare(new SemVer$9(b, loose));\n\nvar compare_1 = compare$a;\n\nconst compare$9 = compare_1;\nconst eq$2 = (a, b, loose) => compare$9(a, b, loose) === 0;\nvar eq_1 = eq$2;\n\nconst parse$2 = parse_1;\nconst eq$1 = eq_1;\n\nconst diff = (version1, version2) => {\n if (eq$1(version1, version2)) {\n return null\n } else {\n const v1 = parse$2(version1);\n const v2 = parse$2(version2);\n const hasPre = v1.prerelease.length || v2.prerelease.length;\n const prefix = hasPre ? 'pre' : '';\n const defaultResult = hasPre ? 'prerelease' : '';\n for (const key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return prefix + key\n }\n }\n }\n return defaultResult // may be undefined\n }\n};\nvar diff_1 = diff;\n\nconst SemVer$8 = semver$2;\nconst major = (a, loose) => new SemVer$8(a, loose).major;\nvar major_1 = major;\n\nconst SemVer$7 = semver$2;\nconst minor = (a, loose) => new SemVer$7(a, loose).minor;\nvar minor_1 = minor;\n\nconst SemVer$6 = semver$2;\nconst patch = (a, loose) => new SemVer$6(a, loose).patch;\nvar patch_1 = patch;\n\nconst parse$1 = parse_1;\nconst prerelease = (version, options) => {\n const parsed = parse$1(version, options);\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n};\nvar prerelease_1 = prerelease;\n\nconst compare$8 = compare_1;\nconst rcompare = (a, b, loose) => compare$8(b, a, loose);\nvar rcompare_1 = rcompare;\n\nconst compare$7 = compare_1;\nconst compareLoose = (a, b) => compare$7(a, b, true);\nvar compareLoose_1 = compareLoose;\n\nconst SemVer$5 = semver$2;\nconst compareBuild$2 = (a, b, loose) => {\n const versionA = new SemVer$5(a, loose);\n const versionB = new SemVer$5(b, loose);\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n};\nvar compareBuild_1 = compareBuild$2;\n\nconst compareBuild$1 = compareBuild_1;\nconst sort = (list, loose) => list.sort((a, b) => compareBuild$1(a, b, loose));\nvar sort_1 = sort;\n\nconst compareBuild = compareBuild_1;\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));\nvar rsort_1 = rsort;\n\nconst compare$6 = compare_1;\nconst gt$3 = (a, b, loose) => compare$6(a, b, loose) > 0;\nvar gt_1 = gt$3;\n\nconst compare$5 = compare_1;\nconst lt$2 = (a, b, loose) => compare$5(a, b, loose) < 0;\nvar lt_1 = lt$2;\n\nconst compare$4 = compare_1;\nconst neq$1 = (a, b, loose) => compare$4(a, b, loose) !== 0;\nvar neq_1 = neq$1;\n\nconst compare$3 = compare_1;\nconst gte$2 = (a, b, loose) => compare$3(a, b, loose) >= 0;\nvar gte_1 = gte$2;\n\nconst compare$2 = compare_1;\nconst lte$2 = (a, b, loose) => compare$2(a, b, loose) <= 0;\nvar lte_1 = lte$2;\n\nconst eq = eq_1;\nconst neq = neq_1;\nconst gt$2 = gt_1;\nconst gte$1 = gte_1;\nconst lt$1 = lt_1;\nconst lte$1 = lte_1;\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version;\n }\n if (typeof b === 'object') {\n b = b.version;\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version;\n }\n if (typeof b === 'object') {\n b = b.version;\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt$2(a, b, loose)\n\n case '>=':\n return gte$1(a, b, loose)\n\n case '<':\n return lt$1(a, b, loose)\n\n case '<=':\n return lte$1(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n};\nvar cmp_1 = cmp;\n\nconst SemVer$4 = semver$2;\nconst parse = parse_1;\nconst { re, t } = re$3.exports;\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer$4) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version);\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {};\n\n let match = null;\n if (!options.rtl) {\n match = version.match(re[t.COERCE]);\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n let next;\n while ((next = re[t.COERCERTL].exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next;\n }\n re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;\n }\n // leave it in a clean state\n re[t.COERCERTL].lastIndex = -1;\n }\n\n if (match === null) {\n return null\n }\n\n return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options)\n};\nvar coerce_1 = coerce;\n\nvar iterator;\nvar hasRequiredIterator;\n\nfunction requireIterator () {\n\tif (hasRequiredIterator) return iterator;\n\thasRequiredIterator = 1;\n\titerator = function (Yallist) {\n\t Yallist.prototype[Symbol.iterator] = function* () {\n\t for (let walker = this.head; walker; walker = walker.next) {\n\t yield walker.value;\n\t }\n\t };\n\t};\n\treturn iterator;\n}\n\nvar yallist;\nvar hasRequiredYallist;\n\nfunction requireYallist () {\n\tif (hasRequiredYallist) return yallist;\n\thasRequiredYallist = 1;\n\tyallist = Yallist;\n\n\tYallist.Node = Node;\n\tYallist.create = Yallist;\n\n\tfunction Yallist (list) {\n\t var self = this;\n\t if (!(self instanceof Yallist)) {\n\t self = new Yallist();\n\t }\n\n\t self.tail = null;\n\t self.head = null;\n\t self.length = 0;\n\n\t if (list && typeof list.forEach === 'function') {\n\t list.forEach(function (item) {\n\t self.push(item);\n\t });\n\t } else if (arguments.length > 0) {\n\t for (var i = 0, l = arguments.length; i < l; i++) {\n\t self.push(arguments[i]);\n\t }\n\t }\n\n\t return self\n\t}\n\n\tYallist.prototype.removeNode = function (node) {\n\t if (node.list !== this) {\n\t throw new Error('removing node which does not belong to this list')\n\t }\n\n\t var next = node.next;\n\t var prev = node.prev;\n\n\t if (next) {\n\t next.prev = prev;\n\t }\n\n\t if (prev) {\n\t prev.next = next;\n\t }\n\n\t if (node === this.head) {\n\t this.head = next;\n\t }\n\t if (node === this.tail) {\n\t this.tail = prev;\n\t }\n\n\t node.list.length--;\n\t node.next = null;\n\t node.prev = null;\n\t node.list = null;\n\n\t return next\n\t};\n\n\tYallist.prototype.unshiftNode = function (node) {\n\t if (node === this.head) {\n\t return\n\t }\n\n\t if (node.list) {\n\t node.list.removeNode(node);\n\t }\n\n\t var head = this.head;\n\t node.list = this;\n\t node.next = head;\n\t if (head) {\n\t head.prev = node;\n\t }\n\n\t this.head = node;\n\t if (!this.tail) {\n\t this.tail = node;\n\t }\n\t this.length++;\n\t};\n\n\tYallist.prototype.pushNode = function (node) {\n\t if (node === this.tail) {\n\t return\n\t }\n\n\t if (node.list) {\n\t node.list.removeNode(node);\n\t }\n\n\t var tail = this.tail;\n\t node.list = this;\n\t node.prev = tail;\n\t if (tail) {\n\t tail.next = node;\n\t }\n\n\t this.tail = node;\n\t if (!this.head) {\n\t this.head = node;\n\t }\n\t this.length++;\n\t};\n\n\tYallist.prototype.push = function () {\n\t for (var i = 0, l = arguments.length; i < l; i++) {\n\t push(this, arguments[i]);\n\t }\n\t return this.length\n\t};\n\n\tYallist.prototype.unshift = function () {\n\t for (var i = 0, l = arguments.length; i < l; i++) {\n\t unshift(this, arguments[i]);\n\t }\n\t return this.length\n\t};\n\n\tYallist.prototype.pop = function () {\n\t if (!this.tail) {\n\t return undefined\n\t }\n\n\t var res = this.tail.value;\n\t this.tail = this.tail.prev;\n\t if (this.tail) {\n\t this.tail.next = null;\n\t } else {\n\t this.head = null;\n\t }\n\t this.length--;\n\t return res\n\t};\n\n\tYallist.prototype.shift = function () {\n\t if (!this.head) {\n\t return undefined\n\t }\n\n\t var res = this.head.value;\n\t this.head = this.head.next;\n\t if (this.head) {\n\t this.head.prev = null;\n\t } else {\n\t this.tail = null;\n\t }\n\t this.length--;\n\t return res\n\t};\n\n\tYallist.prototype.forEach = function (fn, thisp) {\n\t thisp = thisp || this;\n\t for (var walker = this.head, i = 0; walker !== null; i++) {\n\t fn.call(thisp, walker.value, i, this);\n\t walker = walker.next;\n\t }\n\t};\n\n\tYallist.prototype.forEachReverse = function (fn, thisp) {\n\t thisp = thisp || this;\n\t for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {\n\t fn.call(thisp, walker.value, i, this);\n\t walker = walker.prev;\n\t }\n\t};\n\n\tYallist.prototype.get = function (n) {\n\t for (var i = 0, walker = this.head; walker !== null && i < n; i++) {\n\t // abort out of the list early if we hit a cycle\n\t walker = walker.next;\n\t }\n\t if (i === n && walker !== null) {\n\t return walker.value\n\t }\n\t};\n\n\tYallist.prototype.getReverse = function (n) {\n\t for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {\n\t // abort out of the list early if we hit a cycle\n\t walker = walker.prev;\n\t }\n\t if (i === n && walker !== null) {\n\t return walker.value\n\t }\n\t};\n\n\tYallist.prototype.map = function (fn, thisp) {\n\t thisp = thisp || this;\n\t var res = new Yallist();\n\t for (var walker = this.head; walker !== null;) {\n\t res.push(fn.call(thisp, walker.value, this));\n\t walker = walker.next;\n\t }\n\t return res\n\t};\n\n\tYallist.prototype.mapReverse = function (fn, thisp) {\n\t thisp = thisp || this;\n\t var res = new Yallist();\n\t for (var walker = this.tail; walker !== null;) {\n\t res.push(fn.call(thisp, walker.value, this));\n\t walker = walker.prev;\n\t }\n\t return res\n\t};\n\n\tYallist.prototype.reduce = function (fn, initial) {\n\t var acc;\n\t var walker = this.head;\n\t if (arguments.length > 1) {\n\t acc = initial;\n\t } else if (this.head) {\n\t walker = this.head.next;\n\t acc = this.head.value;\n\t } else {\n\t throw new TypeError('Reduce of empty list with no initial value')\n\t }\n\n\t for (var i = 0; walker !== null; i++) {\n\t acc = fn(acc, walker.value, i);\n\t walker = walker.next;\n\t }\n\n\t return acc\n\t};\n\n\tYallist.prototype.reduceReverse = function (fn, initial) {\n\t var acc;\n\t var walker = this.tail;\n\t if (arguments.length > 1) {\n\t acc = initial;\n\t } else if (this.tail) {\n\t walker = this.tail.prev;\n\t acc = this.tail.value;\n\t } else {\n\t throw new TypeError('Reduce of empty list with no initial value')\n\t }\n\n\t for (var i = this.length - 1; walker !== null; i--) {\n\t acc = fn(acc, walker.value, i);\n\t walker = walker.prev;\n\t }\n\n\t return acc\n\t};\n\n\tYallist.prototype.toArray = function () {\n\t var arr = new Array(this.length);\n\t for (var i = 0, walker = this.head; walker !== null; i++) {\n\t arr[i] = walker.value;\n\t walker = walker.next;\n\t }\n\t return arr\n\t};\n\n\tYallist.prototype.toArrayReverse = function () {\n\t var arr = new Array(this.length);\n\t for (var i = 0, walker = this.tail; walker !== null; i++) {\n\t arr[i] = walker.value;\n\t walker = walker.prev;\n\t }\n\t return arr\n\t};\n\n\tYallist.prototype.slice = function (from, to) {\n\t to = to || this.length;\n\t if (to < 0) {\n\t to += this.length;\n\t }\n\t from = from || 0;\n\t if (from < 0) {\n\t from += this.length;\n\t }\n\t var ret = new Yallist();\n\t if (to < from || to < 0) {\n\t return ret\n\t }\n\t if (from < 0) {\n\t from = 0;\n\t }\n\t if (to > this.length) {\n\t to = this.length;\n\t }\n\t for (var i = 0, walker = this.head; walker !== null && i < from; i++) {\n\t walker = walker.next;\n\t }\n\t for (; walker !== null && i < to; i++, walker = walker.next) {\n\t ret.push(walker.value);\n\t }\n\t return ret\n\t};\n\n\tYallist.prototype.sliceReverse = function (from, to) {\n\t to = to || this.length;\n\t if (to < 0) {\n\t to += this.length;\n\t }\n\t from = from || 0;\n\t if (from < 0) {\n\t from += this.length;\n\t }\n\t var ret = new Yallist();\n\t if (to < from || to < 0) {\n\t return ret\n\t }\n\t if (from < 0) {\n\t from = 0;\n\t }\n\t if (to > this.length) {\n\t to = this.length;\n\t }\n\t for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {\n\t walker = walker.prev;\n\t }\n\t for (; walker !== null && i > from; i--, walker = walker.prev) {\n\t ret.push(walker.value);\n\t }\n\t return ret\n\t};\n\n\tYallist.prototype.splice = function (start, deleteCount, ...nodes) {\n\t if (start > this.length) {\n\t start = this.length - 1;\n\t }\n\t if (start < 0) {\n\t start = this.length + start;\n\t }\n\n\t for (var i = 0, walker = this.head; walker !== null && i < start; i++) {\n\t walker = walker.next;\n\t }\n\n\t var ret = [];\n\t for (var i = 0; walker && i < deleteCount; i++) {\n\t ret.push(walker.value);\n\t walker = this.removeNode(walker);\n\t }\n\t if (walker === null) {\n\t walker = this.tail;\n\t }\n\n\t if (walker !== this.head && walker !== this.tail) {\n\t walker = walker.prev;\n\t }\n\n\t for (var i = 0; i < nodes.length; i++) {\n\t walker = insert(this, walker, nodes[i]);\n\t }\n\t return ret;\n\t};\n\n\tYallist.prototype.reverse = function () {\n\t var head = this.head;\n\t var tail = this.tail;\n\t for (var walker = head; walker !== null; walker = walker.prev) {\n\t var p = walker.prev;\n\t walker.prev = walker.next;\n\t walker.next = p;\n\t }\n\t this.head = tail;\n\t this.tail = head;\n\t return this\n\t};\n\n\tfunction insert (self, node, value) {\n\t var inserted = node === self.head ?\n\t new Node(value, null, node, self) :\n\t new Node(value, node, node.next, self);\n\n\t if (inserted.next === null) {\n\t self.tail = inserted;\n\t }\n\t if (inserted.prev === null) {\n\t self.head = inserted;\n\t }\n\n\t self.length++;\n\n\t return inserted\n\t}\n\n\tfunction push (self, item) {\n\t self.tail = new Node(item, self.tail, null, self);\n\t if (!self.head) {\n\t self.head = self.tail;\n\t }\n\t self.length++;\n\t}\n\n\tfunction unshift (self, item) {\n\t self.head = new Node(item, null, self.head, self);\n\t if (!self.tail) {\n\t self.tail = self.head;\n\t }\n\t self.length++;\n\t}\n\n\tfunction Node (value, prev, next, list) {\n\t if (!(this instanceof Node)) {\n\t return new Node(value, prev, next, list)\n\t }\n\n\t this.list = list;\n\t this.value = value;\n\n\t if (prev) {\n\t prev.next = this;\n\t this.prev = prev;\n\t } else {\n\t this.prev = null;\n\t }\n\n\t if (next) {\n\t next.prev = this;\n\t this.next = next;\n\t } else {\n\t this.next = null;\n\t }\n\t}\n\n\ttry {\n\t // add if support for Symbol.iterator is present\n\t requireIterator()(Yallist);\n\t} catch (er) {}\n\treturn yallist;\n}\n\nvar lruCache;\nvar hasRequiredLruCache;\n\nfunction requireLruCache () {\n\tif (hasRequiredLruCache) return lruCache;\n\thasRequiredLruCache = 1;\n\n\t// A linked list to keep track of recently-used-ness\n\tconst Yallist = requireYallist();\n\n\tconst MAX = Symbol('max');\n\tconst LENGTH = Symbol('length');\n\tconst LENGTH_CALCULATOR = Symbol('lengthCalculator');\n\tconst ALLOW_STALE = Symbol('allowStale');\n\tconst MAX_AGE = Symbol('maxAge');\n\tconst DISPOSE = Symbol('dispose');\n\tconst NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet');\n\tconst LRU_LIST = Symbol('lruList');\n\tconst CACHE = Symbol('cache');\n\tconst UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet');\n\n\tconst naiveLength = () => 1;\n\n\t// lruList is a yallist where the head is the youngest\n\t// item, and the tail is the oldest. the list contains the Hit\n\t// objects as the entries.\n\t// Each Hit object has a reference to its Yallist.Node. This\n\t// never changes.\n\t//\n\t// cache is a Map (or PseudoMap) that matches the keys to\n\t// the Yallist.Node object.\n\tclass LRUCache {\n\t constructor (options) {\n\t if (typeof options === 'number')\n\t options = { max: options };\n\n\t if (!options)\n\t options = {};\n\n\t if (options.max && (typeof options.max !== 'number' || options.max < 0))\n\t throw new TypeError('max must be a non-negative number')\n\t // Kind of weird to have a default max of Infinity, but oh well.\n\t this[MAX] = options.max || Infinity;\n\n\t const lc = options.length || naiveLength;\n\t this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc;\n\t this[ALLOW_STALE] = options.stale || false;\n\t if (options.maxAge && typeof options.maxAge !== 'number')\n\t throw new TypeError('maxAge must be a number')\n\t this[MAX_AGE] = options.maxAge || 0;\n\t this[DISPOSE] = options.dispose;\n\t this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false;\n\t this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false;\n\t this.reset();\n\t }\n\n\t // resize the cache when the max changes.\n\t set max (mL) {\n\t if (typeof mL !== 'number' || mL < 0)\n\t throw new TypeError('max must be a non-negative number')\n\n\t this[MAX] = mL || Infinity;\n\t trim(this);\n\t }\n\t get max () {\n\t return this[MAX]\n\t }\n\n\t set allowStale (allowStale) {\n\t this[ALLOW_STALE] = !!allowStale;\n\t }\n\t get allowStale () {\n\t return this[ALLOW_STALE]\n\t }\n\n\t set maxAge (mA) {\n\t if (typeof mA !== 'number')\n\t throw new TypeError('maxAge must be a non-negative number')\n\n\t this[MAX_AGE] = mA;\n\t trim(this);\n\t }\n\t get maxAge () {\n\t return this[MAX_AGE]\n\t }\n\n\t // resize the cache when the lengthCalculator changes.\n\t set lengthCalculator (lC) {\n\t if (typeof lC !== 'function')\n\t lC = naiveLength;\n\n\t if (lC !== this[LENGTH_CALCULATOR]) {\n\t this[LENGTH_CALCULATOR] = lC;\n\t this[LENGTH] = 0;\n\t this[LRU_LIST].forEach(hit => {\n\t hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key);\n\t this[LENGTH] += hit.length;\n\t });\n\t }\n\t trim(this);\n\t }\n\t get lengthCalculator () { return this[LENGTH_CALCULATOR] }\n\n\t get length () { return this[LENGTH] }\n\t get itemCount () { return this[LRU_LIST].length }\n\n\t rforEach (fn, thisp) {\n\t thisp = thisp || this;\n\t for (let walker = this[LRU_LIST].tail; walker !== null;) {\n\t const prev = walker.prev;\n\t forEachStep(this, fn, walker, thisp);\n\t walker = prev;\n\t }\n\t }\n\n\t forEach (fn, thisp) {\n\t thisp = thisp || this;\n\t for (let walker = this[LRU_LIST].head; walker !== null;) {\n\t const next = walker.next;\n\t forEachStep(this, fn, walker, thisp);\n\t walker = next;\n\t }\n\t }\n\n\t keys () {\n\t return this[LRU_LIST].toArray().map(k => k.key)\n\t }\n\n\t values () {\n\t return this[LRU_LIST].toArray().map(k => k.value)\n\t }\n\n\t reset () {\n\t if (this[DISPOSE] &&\n\t this[LRU_LIST] &&\n\t this[LRU_LIST].length) {\n\t this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value));\n\t }\n\n\t this[CACHE] = new Map(); // hash of items by key\n\t this[LRU_LIST] = new Yallist(); // list of items in order of use recency\n\t this[LENGTH] = 0; // length of items in the list\n\t }\n\n\t dump () {\n\t return this[LRU_LIST].map(hit =>\n\t isStale(this, hit) ? false : {\n\t k: hit.key,\n\t v: hit.value,\n\t e: hit.now + (hit.maxAge || 0)\n\t }).toArray().filter(h => h)\n\t }\n\n\t dumpLru () {\n\t return this[LRU_LIST]\n\t }\n\n\t set (key, value, maxAge) {\n\t maxAge = maxAge || this[MAX_AGE];\n\n\t if (maxAge && typeof maxAge !== 'number')\n\t throw new TypeError('maxAge must be a number')\n\n\t const now = maxAge ? Date.now() : 0;\n\t const len = this[LENGTH_CALCULATOR](value, key);\n\n\t if (this[CACHE].has(key)) {\n\t if (len > this[MAX]) {\n\t del(this, this[CACHE].get(key));\n\t return false\n\t }\n\n\t const node = this[CACHE].get(key);\n\t const item = node.value;\n\n\t // dispose of the old one before overwriting\n\t // split out into 2 ifs for better coverage tracking\n\t if (this[DISPOSE]) {\n\t if (!this[NO_DISPOSE_ON_SET])\n\t this[DISPOSE](key, item.value);\n\t }\n\n\t item.now = now;\n\t item.maxAge = maxAge;\n\t item.value = value;\n\t this[LENGTH] += len - item.length;\n\t item.length = len;\n\t this.get(key);\n\t trim(this);\n\t return true\n\t }\n\n\t const hit = new Entry(key, value, len, now, maxAge);\n\n\t // oversized objects fall out of cache automatically.\n\t if (hit.length > this[MAX]) {\n\t if (this[DISPOSE])\n\t this[DISPOSE](key, value);\n\n\t return false\n\t }\n\n\t this[LENGTH] += hit.length;\n\t this[LRU_LIST].unshift(hit);\n\t this[CACHE].set(key, this[LRU_LIST].head);\n\t trim(this);\n\t return true\n\t }\n\n\t has (key) {\n\t if (!this[CACHE].has(key)) return false\n\t const hit = this[CACHE].get(key).value;\n\t return !isStale(this, hit)\n\t }\n\n\t get (key) {\n\t return get(this, key, true)\n\t }\n\n\t peek (key) {\n\t return get(this, key, false)\n\t }\n\n\t pop () {\n\t const node = this[LRU_LIST].tail;\n\t if (!node)\n\t return null\n\n\t del(this, node);\n\t return node.value\n\t }\n\n\t del (key) {\n\t del(this, this[CACHE].get(key));\n\t }\n\n\t load (arr) {\n\t // reset the cache\n\t this.reset();\n\n\t const now = Date.now();\n\t // A previous serialized cache has the most recent items first\n\t for (let l = arr.length - 1; l >= 0; l--) {\n\t const hit = arr[l];\n\t const expiresAt = hit.e || 0;\n\t if (expiresAt === 0)\n\t // the item was created without expiration in a non aged cache\n\t this.set(hit.k, hit.v);\n\t else {\n\t const maxAge = expiresAt - now;\n\t // dont add already expired items\n\t if (maxAge > 0) {\n\t this.set(hit.k, hit.v, maxAge);\n\t }\n\t }\n\t }\n\t }\n\n\t prune () {\n\t this[CACHE].forEach((value, key) => get(this, key, false));\n\t }\n\t}\n\n\tconst get = (self, key, doUse) => {\n\t const node = self[CACHE].get(key);\n\t if (node) {\n\t const hit = node.value;\n\t if (isStale(self, hit)) {\n\t del(self, node);\n\t if (!self[ALLOW_STALE])\n\t return undefined\n\t } else {\n\t if (doUse) {\n\t if (self[UPDATE_AGE_ON_GET])\n\t node.value.now = Date.now();\n\t self[LRU_LIST].unshiftNode(node);\n\t }\n\t }\n\t return hit.value\n\t }\n\t};\n\n\tconst isStale = (self, hit) => {\n\t if (!hit || (!hit.maxAge && !self[MAX_AGE]))\n\t return false\n\n\t const diff = Date.now() - hit.now;\n\t return hit.maxAge ? diff > hit.maxAge\n\t : self[MAX_AGE] && (diff > self[MAX_AGE])\n\t};\n\n\tconst trim = self => {\n\t if (self[LENGTH] > self[MAX]) {\n\t for (let walker = self[LRU_LIST].tail;\n\t self[LENGTH] > self[MAX] && walker !== null;) {\n\t // We know that we're about to delete this one, and also\n\t // what the next least recently used key will be, so just\n\t // go ahead and set it now.\n\t const prev = walker.prev;\n\t del(self, walker);\n\t walker = prev;\n\t }\n\t }\n\t};\n\n\tconst del = (self, node) => {\n\t if (node) {\n\t const hit = node.value;\n\t if (self[DISPOSE])\n\t self[DISPOSE](hit.key, hit.value);\n\n\t self[LENGTH] -= hit.length;\n\t self[CACHE].delete(hit.key);\n\t self[LRU_LIST].removeNode(node);\n\t }\n\t};\n\n\tclass Entry {\n\t constructor (key, value, length, now, maxAge) {\n\t this.key = key;\n\t this.value = value;\n\t this.length = length;\n\t this.now = now;\n\t this.maxAge = maxAge || 0;\n\t }\n\t}\n\n\tconst forEachStep = (self, fn, node, thisp) => {\n\t let hit = node.value;\n\t if (isStale(self, hit)) {\n\t del(self, node);\n\t if (!self[ALLOW_STALE])\n\t hit = undefined;\n\t }\n\t if (hit)\n\t fn.call(thisp, hit.value, hit.key, self);\n\t};\n\n\tlruCache = LRUCache;\n\treturn lruCache;\n}\n\nvar range;\nvar hasRequiredRange;\n\nfunction requireRange () {\n\tif (hasRequiredRange) return range;\n\thasRequiredRange = 1;\n\t// hoisted class for cyclic dependency\n\tclass Range {\n\t constructor (range, options) {\n\t options = parseOptions(options);\n\n\t if (range instanceof Range) {\n\t if (\n\t range.loose === !!options.loose &&\n\t range.includePrerelease === !!options.includePrerelease\n\t ) {\n\t return range\n\t } else {\n\t return new Range(range.raw, options)\n\t }\n\t }\n\n\t if (range instanceof Comparator) {\n\t // just put it in the set and return\n\t this.raw = range.value;\n\t this.set = [[range]];\n\t this.format();\n\t return this\n\t }\n\n\t this.options = options;\n\t this.loose = !!options.loose;\n\t this.includePrerelease = !!options.includePrerelease;\n\n\t // First, split based on boolean or ||\n\t this.raw = range;\n\t this.set = range\n\t .split('||')\n\t // map the range to a 2d array of comparators\n\t .map(r => this.parseRange(r.trim()))\n\t // throw out any comparator lists that are empty\n\t // this generally means that it was not a valid range, which is allowed\n\t // in loose mode, but will still throw if the WHOLE range is invalid.\n\t .filter(c => c.length);\n\n\t if (!this.set.length) {\n\t throw new TypeError(`Invalid SemVer Range: ${range}`)\n\t }\n\n\t // if we have any that are not the null set, throw out null sets.\n\t if (this.set.length > 1) {\n\t // keep the first one, in case they're all null sets\n\t const first = this.set[0];\n\t this.set = this.set.filter(c => !isNullSet(c[0]));\n\t if (this.set.length === 0) {\n\t this.set = [first];\n\t } else if (this.set.length > 1) {\n\t // if we have any that are *, then the range is just *\n\t for (const c of this.set) {\n\t if (c.length === 1 && isAny(c[0])) {\n\t this.set = [c];\n\t break\n\t }\n\t }\n\t }\n\t }\n\n\t this.format();\n\t }\n\n\t format () {\n\t this.range = this.set\n\t .map((comps) => {\n\t return comps.join(' ').trim()\n\t })\n\t .join('||')\n\t .trim();\n\t return this.range\n\t }\n\n\t toString () {\n\t return this.range\n\t }\n\n\t parseRange (range) {\n\t range = range.trim();\n\n\t // memoize range parsing for performance.\n\t // this is a very hot path, and fully deterministic.\n\t const memoOpts = Object.keys(this.options).join(',');\n\t const memoKey = `parseRange:${memoOpts}:${range}`;\n\t const cached = cache.get(memoKey);\n\t if (cached) {\n\t return cached\n\t }\n\n\t const loose = this.options.loose;\n\t // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n\t const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];\n\t range = range.replace(hr, hyphenReplace(this.options.includePrerelease));\n\t debug('hyphen replace', range);\n\t // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n\t range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);\n\t debug('comparator trim', range);\n\n\t // `~ 1.2.3` => `~1.2.3`\n\t range = range.replace(re[t.TILDETRIM], tildeTrimReplace);\n\n\t // `^ 1.2.3` => `^1.2.3`\n\t range = range.replace(re[t.CARETTRIM], caretTrimReplace);\n\n\t // normalize spaces\n\t range = range.split(/\\s+/).join(' ');\n\n\t // At this point, the range is completely trimmed and\n\t // ready to be split into comparators.\n\n\t let rangeList = range\n\t .split(' ')\n\t .map(comp => parseComparator(comp, this.options))\n\t .join(' ')\n\t .split(/\\s+/)\n\t // >=0.0.0 is equivalent to *\n\t .map(comp => replaceGTE0(comp, this.options));\n\n\t if (loose) {\n\t // in loose mode, throw out any that are not valid comparators\n\t rangeList = rangeList.filter(comp => {\n\t debug('loose invalid filter', comp, this.options);\n\t return !!comp.match(re[t.COMPARATORLOOSE])\n\t });\n\t }\n\t debug('range list', rangeList);\n\n\t // if any comparators are the null set, then replace with JUST null set\n\t // if more than one comparator, remove any * comparators\n\t // also, don't include the same comparator more than once\n\t const rangeMap = new Map();\n\t const comparators = rangeList.map(comp => new Comparator(comp, this.options));\n\t for (const comp of comparators) {\n\t if (isNullSet(comp)) {\n\t return [comp]\n\t }\n\t rangeMap.set(comp.value, comp);\n\t }\n\t if (rangeMap.size > 1 && rangeMap.has('')) {\n\t rangeMap.delete('');\n\t }\n\n\t const result = [...rangeMap.values()];\n\t cache.set(memoKey, result);\n\t return result\n\t }\n\n\t intersects (range, options) {\n\t if (!(range instanceof Range)) {\n\t throw new TypeError('a Range is required')\n\t }\n\n\t return this.set.some((thisComparators) => {\n\t return (\n\t isSatisfiable(thisComparators, options) &&\n\t range.set.some((rangeComparators) => {\n\t return (\n\t isSatisfiable(rangeComparators, options) &&\n\t thisComparators.every((thisComparator) => {\n\t return rangeComparators.every((rangeComparator) => {\n\t return thisComparator.intersects(rangeComparator, options)\n\t })\n\t })\n\t )\n\t })\n\t )\n\t })\n\t }\n\n\t // if ANY of the sets match ALL of its comparators, then pass\n\t test (version) {\n\t if (!version) {\n\t return false\n\t }\n\n\t if (typeof version === 'string') {\n\t try {\n\t version = new SemVer(version, this.options);\n\t } catch (er) {\n\t return false\n\t }\n\t }\n\n\t for (let i = 0; i < this.set.length; i++) {\n\t if (testSet(this.set[i], version, this.options)) {\n\t return true\n\t }\n\t }\n\t return false\n\t }\n\t}\n\trange = Range;\n\n\tconst LRU = requireLruCache();\n\tconst cache = new LRU({ max: 1000 });\n\n\tconst parseOptions = parseOptions_1;\n\tconst Comparator = requireComparator();\n\tconst debug = debug_1;\n\tconst SemVer = semver$2;\n\tconst {\n\t re,\n\t t,\n\t comparatorTrimReplace,\n\t tildeTrimReplace,\n\t caretTrimReplace,\n\t} = re$3.exports;\n\n\tconst isNullSet = c => c.value === '<0.0.0-0';\n\tconst isAny = c => c.value === '';\n\n\t// take a set of comparators and determine whether there\n\t// exists a version which can satisfy it\n\tconst isSatisfiable = (comparators, options) => {\n\t let result = true;\n\t const remainingComparators = comparators.slice();\n\t let testComparator = remainingComparators.pop();\n\n\t while (result && remainingComparators.length) {\n\t result = remainingComparators.every((otherComparator) => {\n\t return testComparator.intersects(otherComparator, options)\n\t });\n\n\t testComparator = remainingComparators.pop();\n\t }\n\n\t return result\n\t};\n\n\t// comprised of xranges, tildes, stars, and gtlt's at this point.\n\t// already replaced the hyphen ranges\n\t// turn into a set of JUST comparators.\n\tconst parseComparator = (comp, options) => {\n\t debug('comp', comp, options);\n\t comp = replaceCarets(comp, options);\n\t debug('caret', comp);\n\t comp = replaceTildes(comp, options);\n\t debug('tildes', comp);\n\t comp = replaceXRanges(comp, options);\n\t debug('xrange', comp);\n\t comp = replaceStars(comp, options);\n\t debug('stars', comp);\n\t return comp\n\t};\n\n\tconst isX = id => !id || id.toLowerCase() === 'x' || id === '*';\n\n\t// ~, ~> --> * (any, kinda silly)\n\t// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n\t// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n\t// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n\t// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n\t// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n\tconst replaceTildes = (comp, options) =>\n\t comp.trim().split(/\\s+/).map((c) => {\n\t return replaceTilde(c, options)\n\t }).join(' ');\n\n\tconst replaceTilde = (comp, options) => {\n\t const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];\n\t return comp.replace(r, (_, M, m, p, pr) => {\n\t debug('tilde', comp, _, M, m, p, pr);\n\t let ret;\n\n\t if (isX(M)) {\n\t ret = '';\n\t } else if (isX(m)) {\n\t ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;\n\t } else if (isX(p)) {\n\t // ~1.2 == >=1.2.0 <1.3.0-0\n\t ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;\n\t } else if (pr) {\n\t debug('replaceTilde pr', pr);\n\t ret = `>=${M}.${m}.${p}-${pr\n\t } <${M}.${+m + 1}.0-0`;\n\t } else {\n\t // ~1.2.3 == >=1.2.3 <1.3.0-0\n\t ret = `>=${M}.${m}.${p\n\t } <${M}.${+m + 1}.0-0`;\n\t }\n\n\t debug('tilde return', ret);\n\t return ret\n\t })\n\t};\n\n\t// ^ --> * (any, kinda silly)\n\t// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n\t// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n\t// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n\t// ^1.2.3 --> >=1.2.3 <2.0.0-0\n\t// ^1.2.0 --> >=1.2.0 <2.0.0-0\n\tconst replaceCarets = (comp, options) =>\n\t comp.trim().split(/\\s+/).map((c) => {\n\t return replaceCaret(c, options)\n\t }).join(' ');\n\n\tconst replaceCaret = (comp, options) => {\n\t debug('caret', comp, options);\n\t const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];\n\t const z = options.includePrerelease ? '-0' : '';\n\t return comp.replace(r, (_, M, m, p, pr) => {\n\t debug('caret', comp, _, M, m, p, pr);\n\t let ret;\n\n\t if (isX(M)) {\n\t ret = '';\n\t } else if (isX(m)) {\n\t ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;\n\t } else if (isX(p)) {\n\t if (M === '0') {\n\t ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;\n\t } else {\n\t ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;\n\t }\n\t } else if (pr) {\n\t debug('replaceCaret pr', pr);\n\t if (M === '0') {\n\t if (m === '0') {\n\t ret = `>=${M}.${m}.${p}-${pr\n\t } <${M}.${m}.${+p + 1}-0`;\n\t } else {\n\t ret = `>=${M}.${m}.${p}-${pr\n\t } <${M}.${+m + 1}.0-0`;\n\t }\n\t } else {\n\t ret = `>=${M}.${m}.${p}-${pr\n\t } <${+M + 1}.0.0-0`;\n\t }\n\t } else {\n\t debug('no pr');\n\t if (M === '0') {\n\t if (m === '0') {\n\t ret = `>=${M}.${m}.${p\n\t }${z} <${M}.${m}.${+p + 1}-0`;\n\t } else {\n\t ret = `>=${M}.${m}.${p\n\t }${z} <${M}.${+m + 1}.0-0`;\n\t }\n\t } else {\n\t ret = `>=${M}.${m}.${p\n\t } <${+M + 1}.0.0-0`;\n\t }\n\t }\n\n\t debug('caret return', ret);\n\t return ret\n\t })\n\t};\n\n\tconst replaceXRanges = (comp, options) => {\n\t debug('replaceXRanges', comp, options);\n\t return comp.split(/\\s+/).map((c) => {\n\t return replaceXRange(c, options)\n\t }).join(' ')\n\t};\n\n\tconst replaceXRange = (comp, options) => {\n\t comp = comp.trim();\n\t const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];\n\t return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n\t debug('xRange', comp, ret, gtlt, M, m, p, pr);\n\t const xM = isX(M);\n\t const xm = xM || isX(m);\n\t const xp = xm || isX(p);\n\t const anyX = xp;\n\n\t if (gtlt === '=' && anyX) {\n\t gtlt = '';\n\t }\n\n\t // if we're including prereleases in the match, then we need\n\t // to fix this to -0, the lowest possible prerelease value\n\t pr = options.includePrerelease ? '-0' : '';\n\n\t if (xM) {\n\t if (gtlt === '>' || gtlt === '<') {\n\t // nothing is allowed\n\t ret = '<0.0.0-0';\n\t } else {\n\t // nothing is forbidden\n\t ret = '*';\n\t }\n\t } else if (gtlt && anyX) {\n\t // we know patch is an x, because we have any x at all.\n\t // replace X with 0\n\t if (xm) {\n\t m = 0;\n\t }\n\t p = 0;\n\n\t if (gtlt === '>') {\n\t // >1 => >=2.0.0\n\t // >1.2 => >=1.3.0\n\t gtlt = '>=';\n\t if (xm) {\n\t M = +M + 1;\n\t m = 0;\n\t p = 0;\n\t } else {\n\t m = +m + 1;\n\t p = 0;\n\t }\n\t } else if (gtlt === '<=') {\n\t // <=0.7.x is actually <0.8.0, since any 0.7.x should\n\t // pass. Similarly, <=7.x is actually <8.0.0, etc.\n\t gtlt = '<';\n\t if (xm) {\n\t M = +M + 1;\n\t } else {\n\t m = +m + 1;\n\t }\n\t }\n\n\t if (gtlt === '<') {\n\t pr = '-0';\n\t }\n\n\t ret = `${gtlt + M}.${m}.${p}${pr}`;\n\t } else if (xm) {\n\t ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;\n\t } else if (xp) {\n\t ret = `>=${M}.${m}.0${pr\n\t } <${M}.${+m + 1}.0-0`;\n\t }\n\n\t debug('xRange return', ret);\n\n\t return ret\n\t })\n\t};\n\n\t// Because * is AND-ed with everything else in the comparator,\n\t// and '' means \"any version\", just remove the *s entirely.\n\tconst replaceStars = (comp, options) => {\n\t debug('replaceStars', comp, options);\n\t // Looseness is ignored here. star is always as loose as it gets!\n\t return comp.trim().replace(re[t.STAR], '')\n\t};\n\n\tconst replaceGTE0 = (comp, options) => {\n\t debug('replaceGTE0', comp, options);\n\t return comp.trim()\n\t .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n\t};\n\n\t// This function is passed to string.replace(re[t.HYPHENRANGE])\n\t// M, m, patch, prerelease, build\n\t// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n\t// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n\t// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\n\tconst hyphenReplace = incPr => ($0,\n\t from, fM, fm, fp, fpr, fb,\n\t to, tM, tm, tp, tpr, tb) => {\n\t if (isX(fM)) {\n\t from = '';\n\t } else if (isX(fm)) {\n\t from = `>=${fM}.0.0${incPr ? '-0' : ''}`;\n\t } else if (isX(fp)) {\n\t from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`;\n\t } else if (fpr) {\n\t from = `>=${from}`;\n\t } else {\n\t from = `>=${from}${incPr ? '-0' : ''}`;\n\t }\n\n\t if (isX(tM)) {\n\t to = '';\n\t } else if (isX(tm)) {\n\t to = `<${+tM + 1}.0.0-0`;\n\t } else if (isX(tp)) {\n\t to = `<${tM}.${+tm + 1}.0-0`;\n\t } else if (tpr) {\n\t to = `<=${tM}.${tm}.${tp}-${tpr}`;\n\t } else if (incPr) {\n\t to = `<${tM}.${tm}.${+tp + 1}-0`;\n\t } else {\n\t to = `<=${to}`;\n\t }\n\n\t return (`${from} ${to}`).trim()\n\t};\n\n\tconst testSet = (set, version, options) => {\n\t for (let i = 0; i < set.length; i++) {\n\t if (!set[i].test(version)) {\n\t return false\n\t }\n\t }\n\n\t if (version.prerelease.length && !options.includePrerelease) {\n\t // Find the set of versions that are allowed to have prereleases\n\t // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n\t // That should allow `1.2.3-pr.2` to pass.\n\t // However, `1.2.4-alpha.notready` should NOT be allowed,\n\t // even though it's within the range set by the comparators.\n\t for (let i = 0; i < set.length; i++) {\n\t debug(set[i].semver);\n\t if (set[i].semver === Comparator.ANY) {\n\t continue\n\t }\n\n\t if (set[i].semver.prerelease.length > 0) {\n\t const allowed = set[i].semver;\n\t if (allowed.major === version.major &&\n\t allowed.minor === version.minor &&\n\t allowed.patch === version.patch) {\n\t return true\n\t }\n\t }\n\t }\n\n\t // Version has a -pre, but it's not one of the ones we like.\n\t return false\n\t }\n\n\t return true\n\t};\n\treturn range;\n}\n\nvar comparator;\nvar hasRequiredComparator;\n\nfunction requireComparator () {\n\tif (hasRequiredComparator) return comparator;\n\thasRequiredComparator = 1;\n\tconst ANY = Symbol('SemVer ANY');\n\t// hoisted class for cyclic dependency\n\tclass Comparator {\n\t static get ANY () {\n\t return ANY\n\t }\n\n\t constructor (comp, options) {\n\t options = parseOptions(options);\n\n\t if (comp instanceof Comparator) {\n\t if (comp.loose === !!options.loose) {\n\t return comp\n\t } else {\n\t comp = comp.value;\n\t }\n\t }\n\n\t debug('comparator', comp, options);\n\t this.options = options;\n\t this.loose = !!options.loose;\n\t this.parse(comp);\n\n\t if (this.semver === ANY) {\n\t this.value = '';\n\t } else {\n\t this.value = this.operator + this.semver.version;\n\t }\n\n\t debug('comp', this);\n\t }\n\n\t parse (comp) {\n\t const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];\n\t const m = comp.match(r);\n\n\t if (!m) {\n\t throw new TypeError(`Invalid comparator: ${comp}`)\n\t }\n\n\t this.operator = m[1] !== undefined ? m[1] : '';\n\t if (this.operator === '=') {\n\t this.operator = '';\n\t }\n\n\t // if it literally is just '>' or '' then allow anything.\n\t if (!m[2]) {\n\t this.semver = ANY;\n\t } else {\n\t this.semver = new SemVer(m[2], this.options.loose);\n\t }\n\t }\n\n\t toString () {\n\t return this.value\n\t }\n\n\t test (version) {\n\t debug('Comparator.test', version, this.options.loose);\n\n\t if (this.semver === ANY || version === ANY) {\n\t return true\n\t }\n\n\t if (typeof version === 'string') {\n\t try {\n\t version = new SemVer(version, this.options);\n\t } catch (er) {\n\t return false\n\t }\n\t }\n\n\t return cmp(version, this.operator, this.semver, this.options)\n\t }\n\n\t intersects (comp, options) {\n\t if (!(comp instanceof Comparator)) {\n\t throw new TypeError('a Comparator is required')\n\t }\n\n\t if (!options || typeof options !== 'object') {\n\t options = {\n\t loose: !!options,\n\t includePrerelease: false,\n\t };\n\t }\n\n\t if (this.operator === '') {\n\t if (this.value === '') {\n\t return true\n\t }\n\t return new Range(comp.value, options).test(this.value)\n\t } else if (comp.operator === '') {\n\t if (comp.value === '') {\n\t return true\n\t }\n\t return new Range(this.value, options).test(comp.semver)\n\t }\n\n\t const sameDirectionIncreasing =\n\t (this.operator === '>=' || this.operator === '>') &&\n\t (comp.operator === '>=' || comp.operator === '>');\n\t const sameDirectionDecreasing =\n\t (this.operator === '<=' || this.operator === '<') &&\n\t (comp.operator === '<=' || comp.operator === '<');\n\t const sameSemVer = this.semver.version === comp.semver.version;\n\t const differentDirectionsInclusive =\n\t (this.operator === '>=' || this.operator === '<=') &&\n\t (comp.operator === '>=' || comp.operator === '<=');\n\t const oppositeDirectionsLessThan =\n\t cmp(this.semver, '<', comp.semver, options) &&\n\t (this.operator === '>=' || this.operator === '>') &&\n\t (comp.operator === '<=' || comp.operator === '<');\n\t const oppositeDirectionsGreaterThan =\n\t cmp(this.semver, '>', comp.semver, options) &&\n\t (this.operator === '<=' || this.operator === '<') &&\n\t (comp.operator === '>=' || comp.operator === '>');\n\n\t return (\n\t sameDirectionIncreasing ||\n\t sameDirectionDecreasing ||\n\t (sameSemVer && differentDirectionsInclusive) ||\n\t oppositeDirectionsLessThan ||\n\t oppositeDirectionsGreaterThan\n\t )\n\t }\n\t}\n\n\tcomparator = Comparator;\n\n\tconst parseOptions = parseOptions_1;\n\tconst { re, t } = re$3.exports;\n\tconst cmp = cmp_1;\n\tconst debug = debug_1;\n\tconst SemVer = semver$2;\n\tconst Range = requireRange();\n\treturn comparator;\n}\n\nconst Range$8 = requireRange();\nconst satisfies$3 = (version, range, options) => {\n try {\n range = new Range$8(range, options);\n } catch (er) {\n return false\n }\n return range.test(version)\n};\nvar satisfies_1 = satisfies$3;\n\nconst Range$7 = requireRange();\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range$7(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '));\n\nvar toComparators_1 = toComparators;\n\nconst SemVer$3 = semver$2;\nconst Range$6 = requireRange();\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null;\n let maxSV = null;\n let rangeObj = null;\n try {\n rangeObj = new Range$6(range, options);\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v;\n maxSV = new SemVer$3(max, options);\n }\n }\n });\n return max\n};\nvar maxSatisfying_1 = maxSatisfying;\n\nconst SemVer$2 = semver$2;\nconst Range$5 = requireRange();\nconst minSatisfying = (versions, range, options) => {\n let min = null;\n let minSV = null;\n let rangeObj = null;\n try {\n rangeObj = new Range$5(range, options);\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v;\n minSV = new SemVer$2(min, options);\n }\n }\n });\n return min\n};\nvar minSatisfying_1 = minSatisfying;\n\nconst SemVer$1 = semver$2;\nconst Range$4 = requireRange();\nconst gt$1 = gt_1;\n\nconst minVersion = (range, loose) => {\n range = new Range$4(range, loose);\n\n let minver = new SemVer$1('0.0.0');\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer$1('0.0.0-0');\n if (range.test(minver)) {\n return minver\n }\n\n minver = null;\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i];\n\n let setMin = null;\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer$1(comparator.semver.version);\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++;\n } else {\n compver.prerelease.push(0);\n }\n compver.raw = compver.format();\n /* fallthrough */\n case '':\n case '>=':\n if (!setMin || gt$1(compver, setMin)) {\n setMin = compver;\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n });\n if (setMin && (!minver || gt$1(minver, setMin))) {\n minver = setMin;\n }\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n};\nvar minVersion_1 = minVersion;\n\nconst Range$3 = requireRange();\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range$3(range, options).range || '*'\n } catch (er) {\n return null\n }\n};\nvar valid = validRange;\n\nconst SemVer = semver$2;\nconst Comparator$1 = requireComparator();\nconst { ANY: ANY$1 } = Comparator$1;\nconst Range$2 = requireRange();\nconst satisfies$2 = satisfies_1;\nconst gt = gt_1;\nconst lt = lt_1;\nconst lte = lte_1;\nconst gte = gte_1;\n\nconst outside$2 = (version, range, hilo, options) => {\n version = new SemVer(version, options);\n range = new Range$2(range, options);\n\n let gtfn, ltefn, ltfn, comp, ecomp;\n switch (hilo) {\n case '>':\n gtfn = gt;\n ltefn = lte;\n ltfn = lt;\n comp = '>';\n ecomp = '>=';\n break\n case '<':\n gtfn = lt;\n ltefn = gte;\n ltfn = gt;\n comp = '<';\n ecomp = '<=';\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisfies the range it is not outside\n if (satisfies$2(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i];\n\n let high = null;\n let low = null;\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY$1) {\n comparator = new Comparator$1('>=0.0.0');\n }\n high = high || comparator;\n low = low || comparator;\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator;\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator;\n }\n });\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n};\n\nvar outside_1 = outside$2;\n\n// Determine if version is greater than all the versions possible in the range.\nconst outside$1 = outside_1;\nconst gtr = (version, range, options) => outside$1(version, range, '>', options);\nvar gtr_1 = gtr;\n\nconst outside = outside_1;\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options);\nvar ltr_1 = ltr;\n\nconst Range$1 = requireRange();\nconst intersects = (r1, r2, options) => {\n r1 = new Range$1(r1, options);\n r2 = new Range$1(r2, options);\n return r1.intersects(r2)\n};\nvar intersects_1 = intersects;\n\n// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies$1 = satisfies_1;\nconst compare$1 = compare_1;\nvar simplify = (versions, range, options) => {\n const set = [];\n let first = null;\n let prev = null;\n const v = versions.sort((a, b) => compare$1(a, b, options));\n for (const version of v) {\n const included = satisfies$1(version, range, options);\n if (included) {\n prev = version;\n if (!first) {\n first = version;\n }\n } else {\n if (prev) {\n set.push([first, prev]);\n }\n prev = null;\n first = null;\n }\n }\n if (first) {\n set.push([first, null]);\n }\n\n const ranges = [];\n for (const [min, max] of set) {\n if (min === max) {\n ranges.push(min);\n } else if (!max && min === v[0]) {\n ranges.push('*');\n } else if (!max) {\n ranges.push(`>=${min}`);\n } else if (min === v[0]) {\n ranges.push(`<=${max}`);\n } else {\n ranges.push(`${min} - ${max}`);\n }\n }\n const simplified = ranges.join(' || ');\n const original = typeof range.raw === 'string' ? range.raw : String(range);\n return simplified.length < original.length ? simplified : range\n};\n\nconst Range = requireRange();\nconst Comparator = requireComparator();\nconst { ANY } = Comparator;\nconst satisfies = satisfies_1;\nconst compare = compare_1;\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a null set, OR\n// - Every simple range `r1, r2, ...` which is not a null set is a subset of\n// some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else if in prerelease mode, return false\n// - else replace c with `[>=0.0.0]`\n// - If C is only the ANY comparator\n// - if in prerelease mode, return true\n// - else replace C with `[>=0.0.0]`\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If any C is a = range, and GT or LT are set, return false\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT.semver is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the GT.semver tuple, return false\n// - If LT\n// - If LT.semver is greater than any < or <= comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the LT.semver tuple, return false\n// - Else return true\n\nconst subset = (sub, dom, options = {}) => {\n if (sub === dom) {\n return true\n }\n\n sub = new Range(sub, options);\n dom = new Range(dom, options);\n let sawNonNull = false;\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options);\n sawNonNull = sawNonNull || isSub !== null;\n if (isSub) {\n continue OUTER\n }\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull) {\n return false\n }\n }\n return true\n};\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub === dom) {\n return true\n }\n\n if (sub.length === 1 && sub[0].semver === ANY) {\n if (dom.length === 1 && dom[0].semver === ANY) {\n return true\n } else if (options.includePrerelease) {\n sub = [new Comparator('>=0.0.0-0')];\n } else {\n sub = [new Comparator('>=0.0.0')];\n }\n }\n\n if (dom.length === 1 && dom[0].semver === ANY) {\n if (options.includePrerelease) {\n return true\n } else {\n dom = [new Comparator('>=0.0.0')];\n }\n }\n\n const eqSet = new Set();\n let gt, lt;\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=') {\n gt = higherGT(gt, c, options);\n } else if (c.operator === '<' || c.operator === '<=') {\n lt = lowerLT(lt, c, options);\n } else {\n eqSet.add(c.semver);\n }\n }\n\n if (eqSet.size > 1) {\n return null\n }\n\n let gtltComp;\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options);\n if (gtltComp > 0) {\n return null\n } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {\n return null\n }\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options)) {\n return null\n }\n\n if (lt && !satisfies(eq, String(lt), options)) {\n return null\n }\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options)) {\n return false\n }\n }\n\n return true\n }\n\n let higher, lower;\n let hasDomLT, hasDomGT;\n // if the subset has a prerelease, we need a comparator in the superset\n // with the same tuple and a prerelease, or it's not a subset\n let needDomLTPre = lt &&\n !options.includePrerelease &&\n lt.semver.prerelease.length ? lt.semver : false;\n let needDomGTPre = gt &&\n !options.includePrerelease &&\n gt.semver.prerelease.length ? gt.semver : false;\n // exception: <1.2.3-0 is the same as <1.2.3\n if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&\n lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {\n needDomLTPre = false;\n }\n\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>=';\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<=';\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomGTPre.major &&\n c.semver.minor === needDomGTPre.minor &&\n c.semver.patch === needDomGTPre.patch) {\n needDomGTPre = false;\n }\n }\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options);\n if (higher === c && higher !== gt) {\n return false\n }\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {\n return false\n }\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomLTPre.major &&\n c.semver.minor === needDomLTPre.minor &&\n c.semver.patch === needDomLTPre.patch) {\n needDomLTPre = false;\n }\n }\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options);\n if (lower === c && lower !== lt) {\n return false\n }\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {\n return false\n }\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0) {\n return false\n }\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0) {\n return false\n }\n\n if (lt && hasDomGT && !gt && gtltComp !== 0) {\n return false\n }\n\n // we needed a prerelease range in a specific tuple, but didn't get one\n // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,\n // because it includes prereleases in the 1.2.3 tuple\n if (needDomGTPre || needDomLTPre) {\n return false\n }\n\n return true\n};\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options);\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n};\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options);\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n};\n\nvar subset_1 = subset;\n\n// just pre-load all the stuff that index.js lazily exports\nconst internalRe = re$3.exports;\nvar semver$1 = {\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n SemVer: semver$2,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers,\n parse: parse_1,\n valid: valid_1,\n clean: clean_1,\n inc: inc_1,\n diff: diff_1,\n major: major_1,\n minor: minor_1,\n patch: patch_1,\n prerelease: prerelease_1,\n compare: compare_1,\n rcompare: rcompare_1,\n compareLoose: compareLoose_1,\n compareBuild: compareBuild_1,\n sort: sort_1,\n rsort: rsort_1,\n gt: gt_1,\n lt: lt_1,\n eq: eq_1,\n neq: neq_1,\n gte: gte_1,\n lte: lte_1,\n cmp: cmp_1,\n coerce: coerce_1,\n Comparator: requireComparator(),\n Range: requireRange(),\n satisfies: satisfies_1,\n toComparators: toComparators_1,\n maxSatisfying: maxSatisfying_1,\n minSatisfying: minSatisfying_1,\n minVersion: minVersion_1,\n validRange: valid,\n outside: outside_1,\n gtr: gtr_1,\n ltr: ltr_1,\n intersects: intersects_1,\n simplifyRange: simplify,\n subset: subset_1,\n};\n\nvar semver = semver$1;\n\nvar builtins = function ({\n version = process.version,\n experimental = false\n} = {}) {\n var coreModules = [\n 'assert',\n 'buffer',\n 'child_process',\n 'cluster',\n 'console',\n 'constants',\n 'crypto',\n 'dgram',\n 'dns',\n 'domain',\n 'events',\n 'fs',\n 'http',\n 'https',\n 'module',\n 'net',\n 'os',\n 'path',\n 'punycode',\n 'querystring',\n 'readline',\n 'repl',\n 'stream',\n 'string_decoder',\n 'sys',\n 'timers',\n 'tls',\n 'tty',\n 'url',\n 'util',\n 'vm',\n 'zlib'\n ];\n\n if (semver.lt(version, '6.0.0')) coreModules.push('freelist');\n if (semver.gte(version, '1.0.0')) coreModules.push('v8');\n if (semver.gte(version, '1.1.0')) coreModules.push('process');\n if (semver.gte(version, '8.0.0')) coreModules.push('inspector');\n if (semver.gte(version, '8.1.0')) coreModules.push('async_hooks');\n if (semver.gte(version, '8.4.0')) coreModules.push('http2');\n if (semver.gte(version, '8.5.0')) coreModules.push('perf_hooks');\n if (semver.gte(version, '10.0.0')) coreModules.push('trace_events');\n\n if (\n semver.gte(version, '10.5.0') &&\n (experimental || semver.gte(version, '12.0.0'))\n ) {\n coreModules.push('worker_threads');\n }\n if (semver.gte(version, '12.16.0') && experimental) {\n coreModules.push('wasi');\n }\n \n return coreModules\n};\n\n// Manually “tree shaken†from:\n\nconst reader = {read};\n\n/**\n * @param {string} jsonPath\n * @returns {{string: string}}\n */\nfunction read(jsonPath) {\n return find(path.dirname(jsonPath))\n}\n\n/**\n * @param {string} dir\n * @returns {{string: string}}\n */\nfunction find(dir) {\n try {\n const string = fs.readFileSync(\n path.toNamespacedPath(path.join(dir, 'package.json')),\n 'utf8'\n );\n return {string}\n } catch (error) {\n if (error.code === 'ENOENT') {\n const parent = path.dirname(dir);\n if (dir !== parent) return find(parent)\n return {string: undefined}\n // Throw all other errors.\n /* c8 ignore next 4 */\n }\n\n throw error\n }\n}\n\n// Manually “tree shaken†from:\n\nconst isWindows = process.platform === 'win32';\n\nconst own$1 = {}.hasOwnProperty;\n\nconst codes = {};\n\n/**\n * @typedef {(...args: unknown[]) => string} MessageFunction\n */\n\n/** @type {Map} */\nconst messages = new Map();\nconst nodeInternalPrefix = '__node_internal_';\n/** @type {number} */\nlet userStackTraceLimit;\n\ncodes.ERR_INVALID_MODULE_SPECIFIER = createError(\n 'ERR_INVALID_MODULE_SPECIFIER',\n /**\n * @param {string} request\n * @param {string} reason\n * @param {string} [base]\n */\n (request, reason, base = undefined) => {\n return `Invalid module \"${request}\" ${reason}${\n base ? ` imported from ${base}` : ''\n }`\n },\n TypeError\n);\n\ncodes.ERR_INVALID_PACKAGE_CONFIG = createError(\n 'ERR_INVALID_PACKAGE_CONFIG',\n /**\n * @param {string} path\n * @param {string} [base]\n * @param {string} [message]\n */\n (path, base, message) => {\n return `Invalid package config ${path}${\n base ? ` while importing ${base}` : ''\n }${message ? `. ${message}` : ''}`\n },\n Error\n);\n\ncodes.ERR_INVALID_PACKAGE_TARGET = createError(\n 'ERR_INVALID_PACKAGE_TARGET',\n /**\n * @param {string} pkgPath\n * @param {string} key\n * @param {unknown} target\n * @param {boolean} [isImport=false]\n * @param {string} [base]\n */\n (pkgPath, key, target, isImport = false, base = undefined) => {\n const relError =\n typeof target === 'string' &&\n !isImport &&\n target.length > 0 &&\n !target.startsWith('./');\n if (key === '.') {\n assert(isImport === false);\n return (\n `Invalid \"exports\" main target ${JSON.stringify(target)} defined ` +\n `in the package config ${pkgPath}package.json${\n base ? ` imported from ${base}` : ''\n }${relError ? '; targets must start with \"./\"' : ''}`\n )\n }\n\n return `Invalid \"${\n isImport ? 'imports' : 'exports'\n }\" target ${JSON.stringify(\n target\n )} defined for '${key}' in the package config ${pkgPath}package.json${\n base ? ` imported from ${base}` : ''\n }${relError ? '; targets must start with \"./\"' : ''}`\n },\n Error\n);\n\ncodes.ERR_MODULE_NOT_FOUND = createError(\n 'ERR_MODULE_NOT_FOUND',\n /**\n * @param {string} path\n * @param {string} base\n * @param {string} [type]\n */\n (path, base, type = 'package') => {\n return `Cannot find ${type} '${path}' imported from ${base}`\n },\n Error\n);\n\ncodes.ERR_PACKAGE_IMPORT_NOT_DEFINED = createError(\n 'ERR_PACKAGE_IMPORT_NOT_DEFINED',\n /**\n * @param {string} specifier\n * @param {string} packagePath\n * @param {string} base\n */\n (specifier, packagePath, base) => {\n return `Package import specifier \"${specifier}\" is not defined${\n packagePath ? ` in package ${packagePath}package.json` : ''\n } imported from ${base}`\n },\n TypeError\n);\n\ncodes.ERR_PACKAGE_PATH_NOT_EXPORTED = createError(\n 'ERR_PACKAGE_PATH_NOT_EXPORTED',\n /**\n * @param {string} pkgPath\n * @param {string} subpath\n * @param {string} [base]\n */\n (pkgPath, subpath, base = undefined) => {\n if (subpath === '.')\n return `No \"exports\" main defined in ${pkgPath}package.json${\n base ? ` imported from ${base}` : ''\n }`\n return `Package subpath '${subpath}' is not defined by \"exports\" in ${pkgPath}package.json${\n base ? ` imported from ${base}` : ''\n }`\n },\n Error\n);\n\ncodes.ERR_UNSUPPORTED_DIR_IMPORT = createError(\n 'ERR_UNSUPPORTED_DIR_IMPORT',\n \"Directory import '%s' is not supported \" +\n 'resolving ES modules imported from %s',\n Error\n);\n\ncodes.ERR_UNKNOWN_FILE_EXTENSION = createError(\n 'ERR_UNKNOWN_FILE_EXTENSION',\n 'Unknown file extension \"%s\" for %s',\n TypeError\n);\n\ncodes.ERR_INVALID_ARG_VALUE = createError(\n 'ERR_INVALID_ARG_VALUE',\n /**\n * @param {string} name\n * @param {unknown} value\n * @param {string} [reason='is invalid']\n */\n (name, value, reason = 'is invalid') => {\n let inspected = inspect(value);\n\n if (inspected.length > 128) {\n inspected = `${inspected.slice(0, 128)}...`;\n }\n\n const type = name.includes('.') ? 'property' : 'argument';\n\n return `The ${type} '${name}' ${reason}. Received ${inspected}`\n },\n TypeError\n // Note: extra classes have been shaken out.\n // , RangeError\n);\n\ncodes.ERR_UNSUPPORTED_ESM_URL_SCHEME = createError(\n 'ERR_UNSUPPORTED_ESM_URL_SCHEME',\n /**\n * @param {URL} url\n */\n (url) => {\n let message =\n 'Only file and data URLs are supported by the default ESM loader';\n\n if (isWindows && url.protocol.length === 2) {\n message += '. On Windows, absolute paths must be valid file:// URLs';\n }\n\n message += `. Received protocol '${url.protocol}'`;\n return message\n },\n Error\n);\n\n/**\n * Utility function for registering the error codes. Only used here. Exported\n * *only* to allow for testing.\n * @param {string} sym\n * @param {MessageFunction|string} value\n * @param {ErrorConstructor} def\n * @returns {new (...args: unknown[]) => Error}\n */\nfunction createError(sym, value, def) {\n // Special case for SystemError that formats the error message differently\n // The SystemErrors only have SystemError as their base classes.\n messages.set(sym, value);\n\n return makeNodeErrorWithCode(def, sym)\n}\n\n/**\n * @param {ErrorConstructor} Base\n * @param {string} key\n * @returns {ErrorConstructor}\n */\nfunction makeNodeErrorWithCode(Base, key) {\n // @ts-expect-error It’s a Node error.\n return NodeError\n /**\n * @param {unknown[]} args\n */\n function NodeError(...args) {\n const limit = Error.stackTraceLimit;\n if (isErrorStackTraceLimitWritable()) Error.stackTraceLimit = 0;\n const error = new Base();\n // Reset the limit and setting the name property.\n if (isErrorStackTraceLimitWritable()) Error.stackTraceLimit = limit;\n const message = getMessage(key, args, error);\n Object.defineProperty(error, 'message', {\n value: message,\n enumerable: false,\n writable: true,\n configurable: true\n });\n Object.defineProperty(error, 'toString', {\n /** @this {Error} */\n value() {\n return `${this.name} [${key}]: ${this.message}`\n },\n enumerable: false,\n writable: true,\n configurable: true\n });\n addCodeToName(error, Base.name, key);\n // @ts-expect-error It’s a Node error.\n error.code = key;\n return error\n }\n}\n\nconst addCodeToName = hideStackFrames(\n /**\n * @param {Error} error\n * @param {string} name\n * @param {string} code\n * @returns {void}\n */\n function (error, name, code) {\n // Set the stack\n error = captureLargerStackTrace(error);\n // Add the error code to the name to include it in the stack trace.\n error.name = `${name} [${code}]`;\n // Access the stack to generate the error message including the error code\n // from the name.\n error.stack; // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n if (name === 'SystemError') {\n Object.defineProperty(error, 'name', {\n value: name,\n enumerable: false,\n writable: true,\n configurable: true\n });\n } else {\n delete error.name;\n }\n }\n);\n\n/**\n * @returns {boolean}\n */\nfunction isErrorStackTraceLimitWritable() {\n const desc = Object.getOwnPropertyDescriptor(Error, 'stackTraceLimit');\n if (desc === undefined) {\n return Object.isExtensible(Error)\n }\n\n return own$1.call(desc, 'writable') ? desc.writable : desc.set !== undefined\n}\n\n/**\n * This function removes unnecessary frames from Node.js core errors.\n * @template {(...args: unknown[]) => unknown} T\n * @type {(fn: T) => T}\n */\nfunction hideStackFrames(fn) {\n // We rename the functions that will be hidden to cut off the stacktrace\n // at the outermost one\n const hidden = nodeInternalPrefix + fn.name;\n Object.defineProperty(fn, 'name', {value: hidden});\n return fn\n}\n\nconst captureLargerStackTrace = hideStackFrames(\n /**\n * @param {Error} error\n * @returns {Error}\n */\n function (error) {\n const stackTraceLimitIsWritable = isErrorStackTraceLimitWritable();\n if (stackTraceLimitIsWritable) {\n userStackTraceLimit = Error.stackTraceLimit;\n Error.stackTraceLimit = Number.POSITIVE_INFINITY;\n }\n\n Error.captureStackTrace(error);\n\n // Reset the limit\n if (stackTraceLimitIsWritable) Error.stackTraceLimit = userStackTraceLimit;\n\n return error\n }\n);\n\n/**\n * @param {string} key\n * @param {unknown[]} args\n * @param {Error} self\n * @returns {string}\n */\nfunction getMessage(key, args, self) {\n const message = messages.get(key);\n\n if (typeof message === 'function') {\n assert(\n message.length <= args.length, // Default options do not count.\n `Code: ${key}; The provided arguments length (${args.length}) does not ` +\n `match the required ones (${message.length}).`\n );\n return Reflect.apply(message, self, args)\n }\n\n const expectedLength = (message.match(/%[dfijoOs]/g) || []).length;\n assert(\n expectedLength === args.length,\n `Code: ${key}; The provided arguments length (${args.length}) does not ` +\n `match the required ones (${expectedLength}).`\n );\n if (args.length === 0) return message\n\n args.unshift(message);\n return Reflect.apply(format, null, args)\n}\n\n// Manually “tree shaken†from:\n\nconst {ERR_UNKNOWN_FILE_EXTENSION} = codes;\n\nconst extensionFormatMap = {\n __proto__: null,\n '.cjs': 'commonjs',\n '.js': 'module',\n '.mjs': 'module'\n};\n\n/**\n * @param {string} url\n * @returns {{format: string|null}}\n */\nfunction defaultGetFormat(url) {\n if (url.startsWith('node:')) {\n return {format: 'builtin'}\n }\n\n const parsed = new URL(url);\n\n if (parsed.protocol === 'data:') {\n const {1: mime} = /^([^/]+\\/[^;,]+)[^,]*?(;base64)?,/.exec(\n parsed.pathname\n ) || [null, null];\n const format = mime === 'text/javascript' ? 'module' : null;\n return {format}\n }\n\n if (parsed.protocol === 'file:') {\n const ext = path.extname(parsed.pathname);\n /** @type {string} */\n let format;\n if (ext === '.js') {\n format = getPackageType(parsed.href) === 'module' ? 'module' : 'commonjs';\n } else {\n format = extensionFormatMap[ext];\n }\n\n if (!format) {\n throw new ERR_UNKNOWN_FILE_EXTENSION(ext, fileURLToPath(url))\n }\n\n return {format: format || null}\n }\n\n return {format: null}\n}\n\n// Manually “tree shaken†from:\n\nconst listOfBuiltins = builtins();\n\nconst {\n ERR_INVALID_MODULE_SPECIFIER,\n ERR_INVALID_PACKAGE_CONFIG,\n ERR_INVALID_PACKAGE_TARGET,\n ERR_MODULE_NOT_FOUND,\n ERR_PACKAGE_IMPORT_NOT_DEFINED,\n ERR_PACKAGE_PATH_NOT_EXPORTED,\n ERR_UNSUPPORTED_DIR_IMPORT,\n ERR_UNSUPPORTED_ESM_URL_SCHEME,\n ERR_INVALID_ARG_VALUE\n} = codes;\n\nconst own = {}.hasOwnProperty;\n\nconst DEFAULT_CONDITIONS = Object.freeze(['node', 'import']);\nconst DEFAULT_CONDITIONS_SET = new Set(DEFAULT_CONDITIONS);\n\nconst invalidSegmentRegEx = /(^|\\\\|\\/)(\\.\\.?|node_modules)(\\\\|\\/|$)/;\nconst patternRegEx = /\\*/g;\nconst encodedSepRegEx = /%2f|%2c/i;\n/** @type {Set} */\nconst emittedPackageWarnings = new Set();\n/** @type {Map} */\nconst packageJsonCache = new Map();\n\n/**\n * @param {string} match\n * @param {URL} pjsonUrl\n * @param {boolean} isExports\n * @param {URL} base\n * @returns {void}\n */\nfunction emitFolderMapDeprecation(match, pjsonUrl, isExports, base) {\n const pjsonPath = fileURLToPath(pjsonUrl);\n\n if (emittedPackageWarnings.has(pjsonPath + '|' + match)) return\n emittedPackageWarnings.add(pjsonPath + '|' + match);\n process.emitWarning(\n `Use of deprecated folder mapping \"${match}\" in the ${\n isExports ? '\"exports\"' : '\"imports\"'\n } field module resolution of the package at ${pjsonPath}${\n base ? ` imported from ${fileURLToPath(base)}` : ''\n }.\\n` +\n `Update this package.json to use a subpath pattern like \"${match}*\".`,\n 'DeprecationWarning',\n 'DEP0148'\n );\n}\n\n/**\n * @param {URL} url\n * @param {URL} packageJsonUrl\n * @param {URL} base\n * @param {unknown} [main]\n * @returns {void}\n */\nfunction emitLegacyIndexDeprecation(url, packageJsonUrl, base, main) {\n const {format} = defaultGetFormat(url.href);\n if (format !== 'module') return\n const path = fileURLToPath(url.href);\n const pkgPath = fileURLToPath(new URL('.', packageJsonUrl));\n const basePath = fileURLToPath(base);\n if (main)\n process.emitWarning(\n `Package ${pkgPath} has a \"main\" field set to ${JSON.stringify(main)}, ` +\n `excluding the full filename and extension to the resolved file at \"${path.slice(\n pkgPath.length\n )}\", imported from ${basePath}.\\n Automatic extension resolution of the \"main\" field is` +\n 'deprecated for ES modules.',\n 'DeprecationWarning',\n 'DEP0151'\n );\n else\n process.emitWarning(\n `No \"main\" or \"exports\" field defined in the package.json for ${pkgPath} resolving the main entry point \"${path.slice(\n pkgPath.length\n )}\", imported from ${basePath}.\\nDefault \"index\" lookups for the main are deprecated for ES modules.`,\n 'DeprecationWarning',\n 'DEP0151'\n );\n}\n\n/**\n * @param {string[]} [conditions]\n * @returns {Set}\n */\nfunction getConditionsSet(conditions) {\n if (conditions !== undefined && conditions !== DEFAULT_CONDITIONS) {\n if (!Array.isArray(conditions)) {\n throw new ERR_INVALID_ARG_VALUE(\n 'conditions',\n conditions,\n 'expected an array'\n )\n }\n\n return new Set(conditions)\n }\n\n return DEFAULT_CONDITIONS_SET\n}\n\n/**\n * @param {string} path\n * @returns {Stats}\n */\nfunction tryStatSync(path) {\n // Note: from Node 15 onwards we can use `throwIfNoEntry: false` instead.\n try {\n return statSync(path)\n } catch {\n return new Stats()\n }\n}\n\n/**\n * @param {string} path\n * @param {string|URL} specifier Note: `specifier` is actually optional, not base.\n * @param {URL} [base]\n * @returns {PackageConfig}\n */\nfunction getPackageConfig(path, specifier, base) {\n const existing = packageJsonCache.get(path);\n if (existing !== undefined) {\n return existing\n }\n\n const source = reader.read(path).string;\n\n if (source === undefined) {\n /** @type {PackageConfig} */\n const packageConfig = {\n pjsonPath: path,\n exists: false,\n main: undefined,\n name: undefined,\n type: 'none',\n exports: undefined,\n imports: undefined\n };\n packageJsonCache.set(path, packageConfig);\n return packageConfig\n }\n\n /** @type {Object.} */\n let packageJson;\n try {\n packageJson = JSON.parse(source);\n } catch (error) {\n throw new ERR_INVALID_PACKAGE_CONFIG(\n path,\n (base ? `\"${specifier}\" from ` : '') + fileURLToPath(base || specifier),\n error.message\n )\n }\n\n const {exports, imports, main, name, type} = packageJson;\n\n /** @type {PackageConfig} */\n const packageConfig = {\n pjsonPath: path,\n exists: true,\n main: typeof main === 'string' ? main : undefined,\n name: typeof name === 'string' ? name : undefined,\n type: type === 'module' || type === 'commonjs' ? type : 'none',\n // @ts-expect-error Assume `Object.`.\n exports,\n // @ts-expect-error Assume `Object.`.\n imports: imports && typeof imports === 'object' ? imports : undefined\n };\n packageJsonCache.set(path, packageConfig);\n return packageConfig\n}\n\n/**\n * @param {URL|string} resolved\n * @returns {PackageConfig}\n */\nfunction getPackageScopeConfig(resolved) {\n let packageJsonUrl = new URL('./package.json', resolved);\n\n while (true) {\n const packageJsonPath = packageJsonUrl.pathname;\n\n if (packageJsonPath.endsWith('node_modules/package.json')) break\n\n const packageConfig = getPackageConfig(\n fileURLToPath(packageJsonUrl),\n resolved\n );\n if (packageConfig.exists) return packageConfig\n\n const lastPackageJsonUrl = packageJsonUrl;\n packageJsonUrl = new URL('../package.json', packageJsonUrl);\n\n // Terminates at root where ../package.json equals ../../package.json\n // (can't just check \"/package.json\" for Windows support).\n if (packageJsonUrl.pathname === lastPackageJsonUrl.pathname) break\n }\n\n const packageJsonPath = fileURLToPath(packageJsonUrl);\n /** @type {PackageConfig} */\n const packageConfig = {\n pjsonPath: packageJsonPath,\n exists: false,\n main: undefined,\n name: undefined,\n type: 'none',\n exports: undefined,\n imports: undefined\n };\n packageJsonCache.set(packageJsonPath, packageConfig);\n return packageConfig\n}\n\n/**\n * Legacy CommonJS main resolution:\n * 1. let M = pkg_url + (json main field)\n * 2. TRY(M, M.js, M.json, M.node)\n * 3. TRY(M/index.js, M/index.json, M/index.node)\n * 4. TRY(pkg_url/index.js, pkg_url/index.json, pkg_url/index.node)\n * 5. NOT_FOUND\n *\n * @param {URL} url\n * @returns {boolean}\n */\nfunction fileExists(url) {\n return tryStatSync(fileURLToPath(url)).isFile()\n}\n\n/**\n * @param {URL} packageJsonUrl\n * @param {PackageConfig} packageConfig\n * @param {URL} base\n * @returns {URL}\n */\nfunction legacyMainResolve(packageJsonUrl, packageConfig, base) {\n /** @type {URL} */\n let guess;\n if (packageConfig.main !== undefined) {\n guess = new URL(`./${packageConfig.main}`, packageJsonUrl);\n // Note: fs check redundances will be handled by Descriptor cache here.\n if (fileExists(guess)) return guess\n\n const tries = [\n `./${packageConfig.main}.js`,\n `./${packageConfig.main}.json`,\n `./${packageConfig.main}.node`,\n `./${packageConfig.main}/index.js`,\n `./${packageConfig.main}/index.json`,\n `./${packageConfig.main}/index.node`\n ];\n let i = -1;\n\n while (++i < tries.length) {\n guess = new URL(tries[i], packageJsonUrl);\n if (fileExists(guess)) break\n guess = undefined;\n }\n\n if (guess) {\n emitLegacyIndexDeprecation(\n guess,\n packageJsonUrl,\n base,\n packageConfig.main\n );\n return guess\n }\n // Fallthrough.\n }\n\n const tries = ['./index.js', './index.json', './index.node'];\n let i = -1;\n\n while (++i < tries.length) {\n guess = new URL(tries[i], packageJsonUrl);\n if (fileExists(guess)) break\n guess = undefined;\n }\n\n if (guess) {\n emitLegacyIndexDeprecation(guess, packageJsonUrl, base, packageConfig.main);\n return guess\n }\n\n // Not found.\n throw new ERR_MODULE_NOT_FOUND(\n fileURLToPath(new URL('.', packageJsonUrl)),\n fileURLToPath(base)\n )\n}\n\n/**\n * @param {URL} resolved\n * @param {URL} base\n * @returns {URL}\n */\nfunction finalizeResolution(resolved, base) {\n if (encodedSepRegEx.test(resolved.pathname))\n throw new ERR_INVALID_MODULE_SPECIFIER(\n resolved.pathname,\n 'must not include encoded \"/\" or \"\\\\\" characters',\n fileURLToPath(base)\n )\n\n const path = fileURLToPath(resolved);\n\n const stats = tryStatSync(path.endsWith('/') ? path.slice(-1) : path);\n\n if (stats.isDirectory()) {\n const error = new ERR_UNSUPPORTED_DIR_IMPORT(path, fileURLToPath(base));\n // @ts-expect-error Add this for `import.meta.resolve`.\n error.url = String(resolved);\n throw error\n }\n\n if (!stats.isFile()) {\n throw new ERR_MODULE_NOT_FOUND(\n path || resolved.pathname,\n base && fileURLToPath(base),\n 'module'\n )\n }\n\n return resolved\n}\n\n/**\n * @param {string} specifier\n * @param {URL?} packageJsonUrl\n * @param {URL} base\n * @returns {never}\n */\nfunction throwImportNotDefined(specifier, packageJsonUrl, base) {\n throw new ERR_PACKAGE_IMPORT_NOT_DEFINED(\n specifier,\n packageJsonUrl && fileURLToPath(new URL('.', packageJsonUrl)),\n fileURLToPath(base)\n )\n}\n\n/**\n * @param {string} subpath\n * @param {URL} packageJsonUrl\n * @param {URL} base\n * @returns {never}\n */\nfunction throwExportsNotFound(subpath, packageJsonUrl, base) {\n throw new ERR_PACKAGE_PATH_NOT_EXPORTED(\n fileURLToPath(new URL('.', packageJsonUrl)),\n subpath,\n base && fileURLToPath(base)\n )\n}\n\n/**\n * @param {string} subpath\n * @param {URL} packageJsonUrl\n * @param {boolean} internal\n * @param {URL} [base]\n * @returns {never}\n */\nfunction throwInvalidSubpath(subpath, packageJsonUrl, internal, base) {\n const reason = `request is not a valid subpath for the \"${\n internal ? 'imports' : 'exports'\n }\" resolution of ${fileURLToPath(packageJsonUrl)}`;\n\n throw new ERR_INVALID_MODULE_SPECIFIER(\n subpath,\n reason,\n base && fileURLToPath(base)\n )\n}\n\n/**\n * @param {string} subpath\n * @param {unknown} target\n * @param {URL} packageJsonUrl\n * @param {boolean} internal\n * @param {URL} [base]\n * @returns {never}\n */\nfunction throwInvalidPackageTarget(\n subpath,\n target,\n packageJsonUrl,\n internal,\n base\n) {\n target =\n typeof target === 'object' && target !== null\n ? JSON.stringify(target, null, '')\n : `${target}`;\n\n throw new ERR_INVALID_PACKAGE_TARGET(\n fileURLToPath(new URL('.', packageJsonUrl)),\n subpath,\n target,\n internal,\n base && fileURLToPath(base)\n )\n}\n\n/**\n * @param {string} target\n * @param {string} subpath\n * @param {string} match\n * @param {URL} packageJsonUrl\n * @param {URL} base\n * @param {boolean} pattern\n * @param {boolean} internal\n * @param {Set} conditions\n * @returns {URL}\n */\nfunction resolvePackageTargetString(\n target,\n subpath,\n match,\n packageJsonUrl,\n base,\n pattern,\n internal,\n conditions\n) {\n if (subpath !== '' && !pattern && target[target.length - 1] !== '/')\n throwInvalidPackageTarget(match, target, packageJsonUrl, internal, base);\n\n if (!target.startsWith('./')) {\n if (internal && !target.startsWith('../') && !target.startsWith('/')) {\n let isURL = false;\n\n try {\n new URL(target);\n isURL = true;\n } catch {}\n\n if (!isURL) {\n const exportTarget = pattern\n ? target.replace(patternRegEx, subpath)\n : target + subpath;\n\n return packageResolve(exportTarget, packageJsonUrl, conditions)\n }\n }\n\n throwInvalidPackageTarget(match, target, packageJsonUrl, internal, base);\n }\n\n if (invalidSegmentRegEx.test(target.slice(2)))\n throwInvalidPackageTarget(match, target, packageJsonUrl, internal, base);\n\n const resolved = new URL(target, packageJsonUrl);\n const resolvedPath = resolved.pathname;\n const packagePath = new URL('.', packageJsonUrl).pathname;\n\n if (!resolvedPath.startsWith(packagePath))\n throwInvalidPackageTarget(match, target, packageJsonUrl, internal, base);\n\n if (subpath === '') return resolved\n\n if (invalidSegmentRegEx.test(subpath))\n throwInvalidSubpath(match + subpath, packageJsonUrl, internal, base);\n\n if (pattern) return new URL(resolved.href.replace(patternRegEx, subpath))\n return new URL(subpath, resolved)\n}\n\n/**\n * @param {string} key\n * @returns {boolean}\n */\nfunction isArrayIndex(key) {\n const keyNumber = Number(key);\n if (`${keyNumber}` !== key) return false\n return keyNumber >= 0 && keyNumber < 0xffff_ffff\n}\n\n/**\n * @param {URL} packageJsonUrl\n * @param {unknown} target\n * @param {string} subpath\n * @param {string} packageSubpath\n * @param {URL} base\n * @param {boolean} pattern\n * @param {boolean} internal\n * @param {Set} conditions\n * @returns {URL}\n */\nfunction resolvePackageTarget(\n packageJsonUrl,\n target,\n subpath,\n packageSubpath,\n base,\n pattern,\n internal,\n conditions\n) {\n if (typeof target === 'string') {\n return resolvePackageTargetString(\n target,\n subpath,\n packageSubpath,\n packageJsonUrl,\n base,\n pattern,\n internal,\n conditions\n )\n }\n\n if (Array.isArray(target)) {\n /** @type {unknown[]} */\n const targetList = target;\n if (targetList.length === 0) return null\n\n /** @type {Error} */\n let lastException;\n let i = -1;\n\n while (++i < targetList.length) {\n const targetItem = targetList[i];\n /** @type {URL} */\n let resolved;\n try {\n resolved = resolvePackageTarget(\n packageJsonUrl,\n targetItem,\n subpath,\n packageSubpath,\n base,\n pattern,\n internal,\n conditions\n );\n } catch (error) {\n lastException = error;\n if (error.code === 'ERR_INVALID_PACKAGE_TARGET') continue\n throw error\n }\n\n if (resolved === undefined) continue\n\n if (resolved === null) {\n lastException = null;\n continue\n }\n\n return resolved\n }\n\n if (lastException === undefined || lastException === null) {\n // @ts-expect-error The diff between `undefined` and `null` seems to be\n // intentional\n return lastException\n }\n\n throw lastException\n }\n\n if (typeof target === 'object' && target !== null) {\n const keys = Object.getOwnPropertyNames(target);\n let i = -1;\n\n while (++i < keys.length) {\n const key = keys[i];\n if (isArrayIndex(key)) {\n throw new ERR_INVALID_PACKAGE_CONFIG(\n fileURLToPath(packageJsonUrl),\n base,\n '\"exports\" cannot contain numeric property keys.'\n )\n }\n }\n\n i = -1;\n\n while (++i < keys.length) {\n const key = keys[i];\n if (key === 'default' || (conditions && conditions.has(key))) {\n /** @type {unknown} */\n const conditionalTarget = target[key];\n const resolved = resolvePackageTarget(\n packageJsonUrl,\n conditionalTarget,\n subpath,\n packageSubpath,\n base,\n pattern,\n internal,\n conditions\n );\n if (resolved === undefined) continue\n return resolved\n }\n }\n\n return undefined\n }\n\n if (target === null) {\n return null\n }\n\n throwInvalidPackageTarget(\n packageSubpath,\n target,\n packageJsonUrl,\n internal,\n base\n );\n}\n\n/**\n * @param {unknown} exports\n * @param {URL} packageJsonUrl\n * @param {URL} base\n * @returns {boolean}\n */\nfunction isConditionalExportsMainSugar(exports, packageJsonUrl, base) {\n if (typeof exports === 'string' || Array.isArray(exports)) return true\n if (typeof exports !== 'object' || exports === null) return false\n\n const keys = Object.getOwnPropertyNames(exports);\n let isConditionalSugar = false;\n let i = 0;\n let j = -1;\n while (++j < keys.length) {\n const key = keys[j];\n const curIsConditionalSugar = key === '' || key[0] !== '.';\n if (i++ === 0) {\n isConditionalSugar = curIsConditionalSugar;\n } else if (isConditionalSugar !== curIsConditionalSugar) {\n throw new ERR_INVALID_PACKAGE_CONFIG(\n fileURLToPath(packageJsonUrl),\n base,\n '\"exports\" cannot contain some keys starting with \\'.\\' and some not.' +\n ' The exports object must either be an object of package subpath keys' +\n ' or an object of main entry condition name keys only.'\n )\n }\n }\n\n return isConditionalSugar\n}\n\n/**\n * @param {URL} packageJsonUrl\n * @param {string} packageSubpath\n * @param {Object.} packageConfig\n * @param {URL} base\n * @param {Set} conditions\n * @returns {ResolveObject}\n */\nfunction packageExportsResolve(\n packageJsonUrl,\n packageSubpath,\n packageConfig,\n base,\n conditions\n) {\n let exports = packageConfig.exports;\n if (isConditionalExportsMainSugar(exports, packageJsonUrl, base))\n exports = {'.': exports};\n\n if (own.call(exports, packageSubpath)) {\n const target = exports[packageSubpath];\n const resolved = resolvePackageTarget(\n packageJsonUrl,\n target,\n '',\n packageSubpath,\n base,\n false,\n false,\n conditions\n );\n if (resolved === null || resolved === undefined)\n throwExportsNotFound(packageSubpath, packageJsonUrl, base);\n return {resolved, exact: true}\n }\n\n let bestMatch = '';\n const keys = Object.getOwnPropertyNames(exports);\n let i = -1;\n\n while (++i < keys.length) {\n const key = keys[i];\n if (\n key[key.length - 1] === '*' &&\n packageSubpath.startsWith(key.slice(0, -1)) &&\n packageSubpath.length >= key.length &&\n key.length > bestMatch.length\n ) {\n bestMatch = key;\n } else if (\n key[key.length - 1] === '/' &&\n packageSubpath.startsWith(key) &&\n key.length > bestMatch.length\n ) {\n bestMatch = key;\n }\n }\n\n if (bestMatch) {\n const target = exports[bestMatch];\n const pattern = bestMatch[bestMatch.length - 1] === '*';\n const subpath = packageSubpath.slice(bestMatch.length - (pattern ? 1 : 0));\n const resolved = resolvePackageTarget(\n packageJsonUrl,\n target,\n subpath,\n bestMatch,\n base,\n pattern,\n false,\n conditions\n );\n if (resolved === null || resolved === undefined)\n throwExportsNotFound(packageSubpath, packageJsonUrl, base);\n if (!pattern)\n emitFolderMapDeprecation(bestMatch, packageJsonUrl, true, base);\n return {resolved, exact: pattern}\n }\n\n throwExportsNotFound(packageSubpath, packageJsonUrl, base);\n}\n\n/**\n * @param {string} name\n * @param {URL} base\n * @param {Set} [conditions]\n * @returns {ResolveObject}\n */\nfunction packageImportsResolve(name, base, conditions) {\n if (name === '#' || name.startsWith('#/')) {\n const reason = 'is not a valid internal imports specifier name';\n throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, fileURLToPath(base))\n }\n\n /** @type {URL} */\n let packageJsonUrl;\n\n const packageConfig = getPackageScopeConfig(base);\n\n if (packageConfig.exists) {\n packageJsonUrl = pathToFileURL(packageConfig.pjsonPath);\n const imports = packageConfig.imports;\n if (imports) {\n if (own.call(imports, name)) {\n const resolved = resolvePackageTarget(\n packageJsonUrl,\n imports[name],\n '',\n name,\n base,\n false,\n true,\n conditions\n );\n if (resolved !== null) return {resolved, exact: true}\n } else {\n let bestMatch = '';\n const keys = Object.getOwnPropertyNames(imports);\n let i = -1;\n\n while (++i < keys.length) {\n const key = keys[i];\n\n if (\n key[key.length - 1] === '*' &&\n name.startsWith(key.slice(0, -1)) &&\n name.length >= key.length &&\n key.length > bestMatch.length\n ) {\n bestMatch = key;\n } else if (\n key[key.length - 1] === '/' &&\n name.startsWith(key) &&\n key.length > bestMatch.length\n ) {\n bestMatch = key;\n }\n }\n\n if (bestMatch) {\n const target = imports[bestMatch];\n const pattern = bestMatch[bestMatch.length - 1] === '*';\n const subpath = name.slice(bestMatch.length - (pattern ? 1 : 0));\n const resolved = resolvePackageTarget(\n packageJsonUrl,\n target,\n subpath,\n bestMatch,\n base,\n pattern,\n true,\n conditions\n );\n if (resolved !== null) {\n if (!pattern)\n emitFolderMapDeprecation(bestMatch, packageJsonUrl, false, base);\n return {resolved, exact: pattern}\n }\n }\n }\n }\n }\n\n throwImportNotDefined(name, packageJsonUrl, base);\n}\n\n/**\n * @param {string} url\n * @returns {PackageType}\n */\nfunction getPackageType(url) {\n const packageConfig = getPackageScopeConfig(url);\n return packageConfig.type\n}\n\n/**\n * @param {string} specifier\n * @param {URL} base\n */\nfunction parsePackageName(specifier, base) {\n let separatorIndex = specifier.indexOf('/');\n let validPackageName = true;\n let isScoped = false;\n if (specifier[0] === '@') {\n isScoped = true;\n if (separatorIndex === -1 || specifier.length === 0) {\n validPackageName = false;\n } else {\n separatorIndex = specifier.indexOf('/', separatorIndex + 1);\n }\n }\n\n const packageName =\n separatorIndex === -1 ? specifier : specifier.slice(0, separatorIndex);\n\n // Package name cannot have leading . and cannot have percent-encoding or\n // separators.\n let i = -1;\n while (++i < packageName.length) {\n if (packageName[i] === '%' || packageName[i] === '\\\\') {\n validPackageName = false;\n break\n }\n }\n\n if (!validPackageName) {\n throw new ERR_INVALID_MODULE_SPECIFIER(\n specifier,\n 'is not a valid package name',\n fileURLToPath(base)\n )\n }\n\n const packageSubpath =\n '.' + (separatorIndex === -1 ? '' : specifier.slice(separatorIndex));\n\n return {packageName, packageSubpath, isScoped}\n}\n\n/**\n * @param {string} specifier\n * @param {URL} base\n * @param {Set} conditions\n * @returns {URL}\n */\nfunction packageResolve(specifier, base, conditions) {\n const {packageName, packageSubpath, isScoped} = parsePackageName(\n specifier,\n base\n );\n\n // ResolveSelf\n const packageConfig = getPackageScopeConfig(base);\n\n // Can’t test.\n /* c8 ignore next 16 */\n if (packageConfig.exists) {\n const packageJsonUrl = pathToFileURL(packageConfig.pjsonPath);\n if (\n packageConfig.name === packageName &&\n packageConfig.exports !== undefined &&\n packageConfig.exports !== null\n ) {\n return packageExportsResolve(\n packageJsonUrl,\n packageSubpath,\n packageConfig,\n base,\n conditions\n ).resolved\n }\n }\n\n let packageJsonUrl = new URL(\n './node_modules/' + packageName + '/package.json',\n base\n );\n let packageJsonPath = fileURLToPath(packageJsonUrl);\n /** @type {string} */\n let lastPath;\n do {\n const stat = tryStatSync(packageJsonPath.slice(0, -13));\n if (!stat.isDirectory()) {\n lastPath = packageJsonPath;\n packageJsonUrl = new URL(\n (isScoped ? '../../../../node_modules/' : '../../../node_modules/') +\n packageName +\n '/package.json',\n packageJsonUrl\n );\n packageJsonPath = fileURLToPath(packageJsonUrl);\n continue\n }\n\n // Package match.\n const packageConfig = getPackageConfig(packageJsonPath, specifier, base);\n if (packageConfig.exports !== undefined && packageConfig.exports !== null)\n return packageExportsResolve(\n packageJsonUrl,\n packageSubpath,\n packageConfig,\n base,\n conditions\n ).resolved\n if (packageSubpath === '.')\n return legacyMainResolve(packageJsonUrl, packageConfig, base)\n return new URL(packageSubpath, packageJsonUrl)\n // Cross-platform root check.\n } while (packageJsonPath.length !== lastPath.length)\n\n throw new ERR_MODULE_NOT_FOUND(packageName, fileURLToPath(base))\n}\n\n/**\n * @param {string} specifier\n * @returns {boolean}\n */\nfunction isRelativeSpecifier(specifier) {\n if (specifier[0] === '.') {\n if (specifier.length === 1 || specifier[1] === '/') return true\n if (\n specifier[1] === '.' &&\n (specifier.length === 2 || specifier[2] === '/')\n ) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * @param {string} specifier\n * @returns {boolean}\n */\nfunction shouldBeTreatedAsRelativeOrAbsolutePath(specifier) {\n if (specifier === '') return false\n if (specifier[0] === '/') return true\n return isRelativeSpecifier(specifier)\n}\n\n/**\n * The “Resolver Algorithm Specification†as detailed in the Node docs (which is\n * sync and slightly lower-level than `resolve`).\n *\n *\n *\n * @param {string} specifier\n * @param {URL} base\n * @param {Set} [conditions]\n * @returns {URL}\n */\nfunction moduleResolve(specifier, base, conditions) {\n // Order swapped from spec for minor perf gain.\n // Ok since relative URLs cannot parse as URLs.\n /** @type {URL} */\n let resolved;\n\n if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) {\n resolved = new URL(specifier, base);\n } else if (specifier[0] === '#') {\n({resolved} = packageImportsResolve(specifier, base, conditions));\n } else {\n try {\n resolved = new URL(specifier);\n } catch {\n resolved = packageResolve(specifier, base, conditions);\n }\n }\n\n return finalizeResolution(resolved, base)\n}\n\n/**\n * @param {string} specifier\n * @param {{parentURL?: string, conditions?: string[]}} context\n * @returns {{url: string}}\n */\nfunction defaultResolve(specifier, context = {}) {\n const {parentURL} = context;\n /** @type {URL} */\n let parsed;\n\n try {\n parsed = new URL(specifier);\n if (parsed.protocol === 'data:') {\n return {url: specifier}\n }\n } catch {}\n\n if (parsed && parsed.protocol === 'node:') return {url: specifier}\n if (parsed && parsed.protocol !== 'file:' && parsed.protocol !== 'data:')\n throw new ERR_UNSUPPORTED_ESM_URL_SCHEME(parsed)\n\n if (listOfBuiltins.includes(specifier)) {\n return {url: 'node:' + specifier}\n }\n\n if (parentURL.startsWith('data:')) {\n // This is gonna blow up, we want the error\n new URL(specifier, parentURL);\n }\n\n const conditions = getConditionsSet(context.conditions);\n let url = moduleResolve(specifier, new URL(parentURL), conditions);\n\n const urlPath = fileURLToPath(url);\n const real = realpathSync(urlPath);\n const old = url;\n url = pathToFileURL(real + (urlPath.endsWith(path.sep) ? '/' : ''));\n url.search = old.search;\n url.hash = old.hash;\n\n return {url: `${url}`}\n}\n\n/**\n * Provides a module-relative resolution function scoped to each module,\n * returning the URL string.\n * `import.meta.resolve` also accepts a second argument which is the parent\n * module from which to resolve from.\n *\n * This function is asynchronous because the ES module resolver in Node.js is\n * allowed to be asynchronous.\n *\n * @param {string} specifier The module specifier to resolve relative to parent.\n * @param {string} parent The absolute parent module URL to resolve from.\n * You should pass `import.meta.url` or something else\n * @returns {Promise}\n */\nasync function resolve(specifier, parent) {\n if (!parent) {\n throw new Error(\n 'Please pass `parent`: `import-meta-resolve` cannot ponyfill that'\n )\n }\n\n try {\n return defaultResolve(specifier, {parentURL: parent}).url\n } catch (error) {\n return error.code === 'ERR_UNSUPPORTED_DIR_IMPORT'\n ? error.url\n : Promise.reject(error)\n }\n}\n\nexport { moduleResolve, resolve };\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_assert","data","require","_fs","_interopRequireWildcard","_process","_url","_path","_module","_v","_util","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","isWindows","process","platform","own$1","classRegExp","kTypes","Set","codes","formatList","array","type","length","join","slice","messages","Map","nodeInternalPrefix","userStackTraceLimit","ERR_INVALID_ARG_TYPE","createError","name","expected","actual","assert","Array","isArray","message","endsWith","includes","types","instances","other","value","push","toLowerCase","exec","pos","indexOf","determineSpecificType","TypeError","ERR_INVALID_MODULE_SPECIFIER","request","reason","base","undefined","ERR_INVALID_PACKAGE_CONFIG","path","Error","ERR_INVALID_PACKAGE_TARGET","pkgPath","target","isImport","relError","startsWith","JSON","stringify","ERR_MODULE_NOT_FOUND","ERR_NETWORK_IMPORT_DISALLOWED","ERR_PACKAGE_IMPORT_NOT_DEFINED","specifier","packagePath","ERR_PACKAGE_PATH_NOT_EXPORTED","subpath","ERR_UNSUPPORTED_DIR_IMPORT","ERR_UNKNOWN_FILE_EXTENSION","ext","ERR_INVALID_ARG_VALUE","inspected","inspect","ERR_UNSUPPORTED_ESM_URL_SCHEME","url","supported","protocol","sym","def","makeNodeErrorWithCode","Base","NodeError","args","limit","stackTraceLimit","isErrorStackTraceLimitWritable","error","getMessage","defineProperties","enumerable","writable","configurable","toString","captureLargerStackTrace","code","v8","startupSnapshot","isBuildingSnapshot","_unused","isExtensible","hideStackFrames","fn","hidden","stackTraceLimitIsWritable","Number","POSITIVE_INFINITY","captureStackTrace","self","Reflect","apply","regex","expectedLength","unshift","format","String","constructor","depth","colors","reader","read","packageJsonReader","jsonPath","string","fs","readFileSync","toNamespacedPath","dirname","exception","ERR_INVALID_PACKAGE_CONFIG$1","packageJsonCache","getPackageConfig","existing","source","packageConfig","pjsonPath","exists","main","exports","imports","packageJson","parse","fileURLToPath","getPackageScopeConfig","resolved","packageJsonUrl","URL","packageJsonPath","pathname","lastPackageJsonUrl","getPackageType","extensionFormatMap","__proto__","mimeToFormat","mime","test","protocolHandlers","getDataProtocolModuleFormat","getFileProtocolModuleFormat","getHttpProtocolModuleFormat","node:","parsed","extname","index","codePointAt","_context","ignoreErrors","filepath","defaultGetFormatWithoutErrors","context","DEFAULT_CONDITIONS","freeze","DEFAULT_CONDITIONS_SET","getDefaultConditions","getDefaultConditionsSet","getConditionsSet","conditions","RegExpPrototypeSymbolReplace","RegExp","Symbol","replace","experimentalNetworkImports","own","invalidSegmentRegEx","deprecatedInvalidSegmentRegEx","invalidPackageNameRegEx","patternRegEx","encodedSepRegEx","emittedPackageWarnings","doubleSlashRegEx","emitInvalidSegmentDeprecation","match","internal","isTarget","double","emitWarning","emitLegacyIndexDeprecation","parentURL","href","basePath","tryStatSync","statSync","_unused2","Stats","fileExists","stats","throwIfNoEntry","isFile","legacyMainResolve","guess","tries","i","finalizeResolution","preserveSymlinks","filePath","isDirectory","real","realpathSync","search","hash","pathToFileURL","sep","importNotDefined","exportsNotFound","throwInvalidSubpath","invalidPackageTarget","resolvePackageTargetString","pattern","isPathMap","isURL","_unused3","exportTarget","packageResolve","resolvedTarget","resolvedPath","isArrayIndex","keyNumber","resolvePackageTarget","packageSubpath","targetList","lastException","targetItem","resolveResult","keys","getOwnPropertyNames","conditionalTarget","isConditionalExportsMainSugar","isConditionalSugar","j","curIsConditionalSugar","emitTrailingSlashPatternDeprecation","pjsonUrl","add","packageExportsResolve","bestMatch","bestMatchSubpath","patternIndex","patternTrailer","patternKeyCompare","lastIndexOf","a","b","aPatternIndex","bPatternIndex","baseLengthA","baseLengthB","packageImportsResolve","parsePackageName","separatorIndex","validPackageName","isScoped","packageName","builtinModules","lastPath","stat","isRelativeSpecifier","shouldBeTreatedAsRelativeOrAbsolutePath","moduleResolve","isRemote","_unused4","checkIfDisallowedImport","parsedParentURL","parentProtocol","parsedProtocol","Boolean","throwIfInvalidParentURL","throwIfUnsupportedURLProtocol","throwIfUnsupportedURLScheme","concat","defaultResolve","_unused5","_unused6","maybeReturn","resolve","parent"],"sources":["../../src/vendor/import-meta-resolve.js"],"sourcesContent":["\n/****************************************************************************\\\n * NOTE FROM BABEL AUTHORS *\n * This file is inlined from https://github.com/wooorm/import-meta-resolve, *\n * because we need to compile it to CommonJS. *\n\\****************************************************************************/\n\n/*\n(The MIT License)\n\nCopyright (c) 2021 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n---\n\nThis is a derivative work based on:\n.\nWhich is licensed:\n\n\"\"\"\nCopyright Node.js contributors. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to\ndeal in the Software without restriction, including without limitation the\nrights to use, copy, modify, merge, publish, distribute, sublicense, and/or\nsell copies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\nIN THE SOFTWARE.\n\"\"\"\n\nThis license applies to parts of Node.js originating from the\nhttps://github.com/joyent/node repository:\n\n\"\"\"\nCopyright Joyent, Inc. and other Node contributors. All rights reserved.\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to\ndeal in the Software without restriction, including without limitation the\nrights to use, copy, modify, merge, publish, distribute, sublicense, and/or\nsell copies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\nIN THE SOFTWARE.\n\"\"\"\n*/\n\nimport assert from 'assert';\nimport fs, { realpathSync, statSync, Stats } from 'fs';\nimport process from 'process';\nimport { fileURLToPath, URL, pathToFileURL } from 'url';\nimport path from 'path';\nimport { builtinModules } from 'module';\nimport v8 from 'v8';\nimport { format, inspect } from 'util';\n\n/**\n * @typedef ErrnoExceptionFields\n * @property {number | undefined} [errnode]\n * @property {string | undefined} [code]\n * @property {string | undefined} [path]\n * @property {string | undefined} [syscall]\n * @property {string | undefined} [url]\n *\n * @typedef {Error & ErrnoExceptionFields} ErrnoException\n */\n\nconst isWindows = process.platform === 'win32';\n\nconst own$1 = {}.hasOwnProperty;\n\nconst classRegExp = /^([A-Z][a-z\\d]*)+$/;\n// Sorted by a rough estimate on most frequently used entries.\nconst kTypes = new Set([\n 'string',\n 'function',\n 'number',\n 'object',\n // Accept 'Function' and 'Object' as alternative to the lower cased version.\n 'Function',\n 'Object',\n 'boolean',\n 'bigint',\n 'symbol'\n]);\n\nconst codes = {};\n\n/**\n * Create a list string in the form like 'A and B' or 'A, B, ..., and Z'.\n * We cannot use Intl.ListFormat because it's not available in\n * --without-intl builds.\n *\n * @param {Array} array\n * An array of strings.\n * @param {string} [type]\n * The list type to be inserted before the last element.\n * @returns {string}\n */\nfunction formatList(array, type = 'and') {\n return array.length < 3\n ? array.join(` ${type} `)\n : `${array.slice(0, -1).join(', ')}, ${type} ${array[array.length - 1]}`\n}\n\n/** @type {Map} */\nconst messages = new Map();\nconst nodeInternalPrefix = '__node_internal_';\n/** @type {number} */\nlet userStackTraceLimit;\n\ncodes.ERR_INVALID_ARG_TYPE = createError(\n 'ERR_INVALID_ARG_TYPE',\n /**\n * @param {string} name\n * @param {Array | string} expected\n * @param {unknown} actual\n */\n (name, expected, actual) => {\n assert(typeof name === 'string', \"'name' must be a string\");\n if (!Array.isArray(expected)) {\n expected = [expected];\n }\n\n let message = 'The ';\n if (name.endsWith(' argument')) {\n // For cases like 'first argument'\n message += `${name} `;\n } else {\n const type = name.includes('.') ? 'property' : 'argument';\n message += `\"${name}\" ${type} `;\n }\n\n message += 'must be ';\n\n /** @type {Array} */\n const types = [];\n /** @type {Array} */\n const instances = [];\n /** @type {Array} */\n const other = [];\n\n for (const value of expected) {\n assert(\n typeof value === 'string',\n 'All expected entries have to be of type string'\n );\n\n if (kTypes.has(value)) {\n types.push(value.toLowerCase());\n } else if (classRegExp.exec(value) === null) {\n assert(\n value !== 'object',\n 'The value \"object\" should be written as \"Object\"'\n );\n other.push(value);\n } else {\n instances.push(value);\n }\n }\n\n // Special handle `object` in case other instances are allowed to outline\n // the differences between each other.\n if (instances.length > 0) {\n const pos = types.indexOf('object');\n if (pos !== -1) {\n types.slice(pos, 1);\n instances.push('Object');\n }\n }\n\n if (types.length > 0) {\n message += `${types.length > 1 ? 'one of type' : 'of type'} ${formatList(\n types,\n 'or'\n )}`;\n if (instances.length > 0 || other.length > 0) message += ' or ';\n }\n\n if (instances.length > 0) {\n message += `an instance of ${formatList(instances, 'or')}`;\n if (other.length > 0) message += ' or ';\n }\n\n if (other.length > 0) {\n if (other.length > 1) {\n message += `one of ${formatList(other, 'or')}`;\n } else {\n if (other[0].toLowerCase() !== other[0]) message += 'an ';\n message += `${other[0]}`;\n }\n }\n\n message += `. Received ${determineSpecificType(actual)}`;\n\n return message\n },\n TypeError\n);\n\ncodes.ERR_INVALID_MODULE_SPECIFIER = createError(\n 'ERR_INVALID_MODULE_SPECIFIER',\n /**\n * @param {string} request\n * @param {string} reason\n * @param {string} [base]\n */\n (request, reason, base = undefined) => {\n return `Invalid module \"${request}\" ${reason}${\n base ? ` imported from ${base}` : ''\n }`\n },\n TypeError\n);\n\ncodes.ERR_INVALID_PACKAGE_CONFIG = createError(\n 'ERR_INVALID_PACKAGE_CONFIG',\n /**\n * @param {string} path\n * @param {string} [base]\n * @param {string} [message]\n */\n (path, base, message) => {\n return `Invalid package config ${path}${\n base ? ` while importing ${base}` : ''\n }${message ? `. ${message}` : ''}`\n },\n Error\n);\n\ncodes.ERR_INVALID_PACKAGE_TARGET = createError(\n 'ERR_INVALID_PACKAGE_TARGET',\n /**\n * @param {string} pkgPath\n * @param {string} key\n * @param {unknown} target\n * @param {boolean} [isImport=false]\n * @param {string} [base]\n */\n (pkgPath, key, target, isImport = false, base = undefined) => {\n const relError =\n typeof target === 'string' &&\n !isImport &&\n target.length > 0 &&\n !target.startsWith('./');\n if (key === '.') {\n assert(isImport === false);\n return (\n `Invalid \"exports\" main target ${JSON.stringify(target)} defined ` +\n `in the package config ${pkgPath}package.json${\n base ? ` imported from ${base}` : ''\n }${relError ? '; targets must start with \"./\"' : ''}`\n )\n }\n\n return `Invalid \"${\n isImport ? 'imports' : 'exports'\n }\" target ${JSON.stringify(\n target\n )} defined for '${key}' in the package config ${pkgPath}package.json${\n base ? ` imported from ${base}` : ''\n }${relError ? '; targets must start with \"./\"' : ''}`\n },\n Error\n);\n\ncodes.ERR_MODULE_NOT_FOUND = createError(\n 'ERR_MODULE_NOT_FOUND',\n /**\n * @param {string} path\n * @param {string} base\n * @param {string} [type]\n */\n (path, base, type = 'package') => {\n return `Cannot find ${type} '${path}' imported from ${base}`\n },\n Error\n);\n\ncodes.ERR_NETWORK_IMPORT_DISALLOWED = createError(\n 'ERR_NETWORK_IMPORT_DISALLOWED',\n \"import of '%s' by %s is not supported: %s\",\n Error\n);\n\ncodes.ERR_PACKAGE_IMPORT_NOT_DEFINED = createError(\n 'ERR_PACKAGE_IMPORT_NOT_DEFINED',\n /**\n * @param {string} specifier\n * @param {string} packagePath\n * @param {string} base\n */\n (specifier, packagePath, base) => {\n return `Package import specifier \"${specifier}\" is not defined${\n packagePath ? ` in package ${packagePath}package.json` : ''\n } imported from ${base}`\n },\n TypeError\n);\n\ncodes.ERR_PACKAGE_PATH_NOT_EXPORTED = createError(\n 'ERR_PACKAGE_PATH_NOT_EXPORTED',\n /**\n * @param {string} pkgPath\n * @param {string} subpath\n * @param {string} [base]\n */\n (pkgPath, subpath, base = undefined) => {\n if (subpath === '.')\n return `No \"exports\" main defined in ${pkgPath}package.json${\n base ? ` imported from ${base}` : ''\n }`\n return `Package subpath '${subpath}' is not defined by \"exports\" in ${pkgPath}package.json${\n base ? ` imported from ${base}` : ''\n }`\n },\n Error\n);\n\ncodes.ERR_UNSUPPORTED_DIR_IMPORT = createError(\n 'ERR_UNSUPPORTED_DIR_IMPORT',\n \"Directory import '%s' is not supported \" +\n 'resolving ES modules imported from %s',\n Error\n);\n\ncodes.ERR_UNKNOWN_FILE_EXTENSION = createError(\n 'ERR_UNKNOWN_FILE_EXTENSION',\n /**\n * @param {string} ext\n * @param {string} path\n */\n (ext, path) => {\n return `Unknown file extension \"${ext}\" for ${path}`\n },\n TypeError\n);\n\ncodes.ERR_INVALID_ARG_VALUE = createError(\n 'ERR_INVALID_ARG_VALUE',\n /**\n * @param {string} name\n * @param {unknown} value\n * @param {string} [reason='is invalid']\n */\n (name, value, reason = 'is invalid') => {\n let inspected = inspect(value);\n\n if (inspected.length > 128) {\n inspected = `${inspected.slice(0, 128)}...`;\n }\n\n const type = name.includes('.') ? 'property' : 'argument';\n\n return `The ${type} '${name}' ${reason}. Received ${inspected}`\n },\n TypeError\n // Note: extra classes have been shaken out.\n // , RangeError\n);\n\ncodes.ERR_UNSUPPORTED_ESM_URL_SCHEME = createError(\n 'ERR_UNSUPPORTED_ESM_URL_SCHEME',\n /**\n * @param {URL} url\n * @param {Array} supported\n */\n (url, supported) => {\n let message = `Only URLs with a scheme in: ${formatList(\n supported\n )} are supported by the default ESM loader`;\n\n if (isWindows && url.protocol.length === 2) {\n message += '. On Windows, absolute paths must be valid file:// URLs';\n }\n\n message += `. Received protocol '${url.protocol}'`;\n return message\n },\n Error\n);\n\n/**\n * Utility function for registering the error codes. Only used here. Exported\n * *only* to allow for testing.\n * @param {string} sym\n * @param {MessageFunction | string} value\n * @param {ErrorConstructor} def\n * @returns {new (...args: Array) => Error}\n */\nfunction createError(sym, value, def) {\n // Special case for SystemError that formats the error message differently\n // The SystemErrors only have SystemError as their base classes.\n messages.set(sym, value);\n\n return makeNodeErrorWithCode(def, sym)\n}\n\n/**\n * @param {ErrorConstructor} Base\n * @param {string} key\n * @returns {ErrorConstructor}\n */\nfunction makeNodeErrorWithCode(Base, key) {\n // @ts-expect-error It’s a Node error.\n return NodeError\n /**\n * @param {Array} args\n */\n function NodeError(...args) {\n const limit = Error.stackTraceLimit;\n if (isErrorStackTraceLimitWritable()) Error.stackTraceLimit = 0;\n const error = new Base();\n // Reset the limit and setting the name property.\n if (isErrorStackTraceLimitWritable()) Error.stackTraceLimit = limit;\n const message = getMessage(key, args, error);\n Object.defineProperties(error, {\n // Note: no need to implement `kIsNodeError` symbol, would be hard,\n // probably.\n message: {\n value: message,\n enumerable: false,\n writable: true,\n configurable: true\n },\n toString: {\n /** @this {Error} */\n value() {\n return `${this.name} [${key}]: ${this.message}`\n },\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n\n captureLargerStackTrace(error);\n // @ts-expect-error It’s a Node error.\n error.code = key;\n return error\n }\n}\n\n/**\n * @returns {boolean}\n */\nfunction isErrorStackTraceLimitWritable() {\n // Do no touch Error.stackTraceLimit as V8 would attempt to install\n // it again during deserialization.\n try {\n // @ts-expect-error: not in types?\n if (v8.startupSnapshot.isBuildingSnapshot()) {\n return false\n }\n } catch {}\n\n const desc = Object.getOwnPropertyDescriptor(Error, 'stackTraceLimit');\n if (desc === undefined) {\n return Object.isExtensible(Error)\n }\n\n return own$1.call(desc, 'writable') && desc.writable !== undefined\n ? desc.writable\n : desc.set !== undefined\n}\n\n/**\n * This function removes unnecessary frames from Node.js core errors.\n * @template {(...args: unknown[]) => unknown} T\n * @param {T} fn\n * @returns {T}\n */\nfunction hideStackFrames(fn) {\n // We rename the functions that will be hidden to cut off the stacktrace\n // at the outermost one\n const hidden = nodeInternalPrefix + fn.name;\n Object.defineProperty(fn, 'name', {value: hidden});\n return fn\n}\n\nconst captureLargerStackTrace = hideStackFrames(\n /**\n * @param {Error} error\n * @returns {Error}\n */\n // @ts-expect-error: fine\n function (error) {\n const stackTraceLimitIsWritable = isErrorStackTraceLimitWritable();\n if (stackTraceLimitIsWritable) {\n userStackTraceLimit = Error.stackTraceLimit;\n Error.stackTraceLimit = Number.POSITIVE_INFINITY;\n }\n\n Error.captureStackTrace(error);\n\n // Reset the limit\n if (stackTraceLimitIsWritable) Error.stackTraceLimit = userStackTraceLimit;\n\n return error\n }\n);\n\n/**\n * @param {string} key\n * @param {Array} args\n * @param {Error} self\n * @returns {string}\n */\nfunction getMessage(key, args, self) {\n const message = messages.get(key);\n assert(message !== undefined, 'expected `message` to be found');\n\n if (typeof message === 'function') {\n assert(\n message.length <= args.length, // Default options do not count.\n `Code: ${key}; The provided arguments length (${args.length}) does not ` +\n `match the required ones (${message.length}).`\n );\n return Reflect.apply(message, self, args)\n }\n\n const regex = /%[dfijoOs]/g;\n let expectedLength = 0;\n while (regex.exec(message) !== null) expectedLength++;\n assert(\n expectedLength === args.length,\n `Code: ${key}; The provided arguments length (${args.length}) does not ` +\n `match the required ones (${expectedLength}).`\n );\n if (args.length === 0) return message\n\n args.unshift(message);\n return Reflect.apply(format, null, args)\n}\n\n/**\n * Determine the specific type of a value for type-mismatch errors.\n * @param {unknown} value\n * @returns {string}\n */\nfunction determineSpecificType(value) {\n if (value === null || value === undefined) {\n return String(value)\n }\n\n if (typeof value === 'function' && value.name) {\n return `function ${value.name}`\n }\n\n if (typeof value === 'object') {\n if (value.constructor && value.constructor.name) {\n return `an instance of ${value.constructor.name}`\n }\n\n return `${inspect(value, {depth: -1})}`\n }\n\n let inspected = inspect(value, {colors: false});\n\n if (inspected.length > 28) {\n inspected = `${inspected.slice(0, 25)}...`;\n }\n\n return `type ${typeof value} (${inspected})`\n}\n\n// Manually “tree shaken†from:\n\nconst reader = {read};\nvar packageJsonReader = reader;\n\n/**\n * @param {string} jsonPath\n * @returns {{string: string | undefined}}\n */\nfunction read(jsonPath) {\n try {\n const string = fs.readFileSync(\n path.toNamespacedPath(path.join(path.dirname(jsonPath), 'package.json')),\n 'utf8'\n );\n return {string}\n } catch (error) {\n const exception = /** @type {ErrnoException} */ (error);\n\n if (exception.code === 'ENOENT') {\n return {string: undefined}\n // Throw all other errors.\n /* c8 ignore next 4 */\n }\n\n throw exception\n }\n}\n\n// Manually “tree shaken†from:\n\nconst {ERR_INVALID_PACKAGE_CONFIG: ERR_INVALID_PACKAGE_CONFIG$1} = codes;\n\n/** @type {Map} */\nconst packageJsonCache = new Map();\n\n/**\n * @param {string} path\n * @param {URL | string} specifier Note: `specifier` is actually optional, not base.\n * @param {URL} [base]\n * @returns {PackageConfig}\n */\nfunction getPackageConfig(path, specifier, base) {\n const existing = packageJsonCache.get(path);\n if (existing !== undefined) {\n return existing\n }\n\n const source = packageJsonReader.read(path).string;\n\n if (source === undefined) {\n /** @type {PackageConfig} */\n const packageConfig = {\n pjsonPath: path,\n exists: false,\n main: undefined,\n name: undefined,\n type: 'none',\n exports: undefined,\n imports: undefined\n };\n packageJsonCache.set(path, packageConfig);\n return packageConfig\n }\n\n /** @type {Record} */\n let packageJson;\n try {\n packageJson = JSON.parse(source);\n } catch (error) {\n const exception = /** @type {ErrnoException} */ (error);\n\n throw new ERR_INVALID_PACKAGE_CONFIG$1(\n path,\n (base ? `\"${specifier}\" from ` : '') + fileURLToPath(base || specifier),\n exception.message\n )\n }\n\n const {exports, imports, main, name, type} = packageJson;\n\n /** @type {PackageConfig} */\n const packageConfig = {\n pjsonPath: path,\n exists: true,\n main: typeof main === 'string' ? main : undefined,\n name: typeof name === 'string' ? name : undefined,\n type: type === 'module' || type === 'commonjs' ? type : 'none',\n // @ts-expect-error Assume `Record`.\n exports,\n // @ts-expect-error Assume `Record`.\n imports: imports && typeof imports === 'object' ? imports : undefined\n };\n packageJsonCache.set(path, packageConfig);\n return packageConfig\n}\n\n/**\n * @param {URL} resolved\n * @returns {PackageConfig}\n */\nfunction getPackageScopeConfig(resolved) {\n let packageJsonUrl = new URL('package.json', resolved);\n\n while (true) {\n const packageJsonPath = packageJsonUrl.pathname;\n\n if (packageJsonPath.endsWith('node_modules/package.json')) break\n\n const packageConfig = getPackageConfig(\n fileURLToPath(packageJsonUrl),\n resolved\n );\n if (packageConfig.exists) return packageConfig\n\n const lastPackageJsonUrl = packageJsonUrl;\n packageJsonUrl = new URL('../package.json', packageJsonUrl);\n\n // Terminates at root where ../package.json equals ../../package.json\n // (can't just check \"/package.json\" for Windows support).\n if (packageJsonUrl.pathname === lastPackageJsonUrl.pathname) break\n }\n\n const packageJsonPath = fileURLToPath(packageJsonUrl);\n /** @type {PackageConfig} */\n const packageConfig = {\n pjsonPath: packageJsonPath,\n exists: false,\n main: undefined,\n name: undefined,\n type: 'none',\n exports: undefined,\n imports: undefined\n };\n packageJsonCache.set(packageJsonPath, packageConfig);\n return packageConfig\n}\n\n// Manually “tree shaken†from:\n\n/**\n * @param {URL} url\n * @returns {PackageType}\n */\nfunction getPackageType(url) {\n const packageConfig = getPackageScopeConfig(url);\n return packageConfig.type\n}\n\n// Manually “tree shaken†from:\n\nconst {ERR_UNKNOWN_FILE_EXTENSION} = codes;\n\nconst hasOwnProperty = {}.hasOwnProperty;\n\n/** @type {Record} */\nconst extensionFormatMap = {\n // @ts-expect-error: hush.\n __proto__: null,\n '.cjs': 'commonjs',\n '.js': 'module',\n '.json': 'json',\n '.mjs': 'module'\n};\n\n/**\n * @param {string | null} mime\n * @returns {string | null}\n */\nfunction mimeToFormat(mime) {\n if (\n mime &&\n /\\s*(text|application)\\/javascript\\s*(;\\s*charset=utf-?8\\s*)?/i.test(mime)\n )\n return 'module'\n if (mime === 'application/json') return 'json'\n return null\n}\n\n/**\n * @callback ProtocolHandler\n * @param {URL} parsed\n * @param {{parentURL: string}} context\n * @param {boolean} ignoreErrors\n * @returns {string | null | void}\n */\n\n/**\n * @type {Record}\n */\nconst protocolHandlers = {\n // @ts-expect-error: hush.\n __proto__: null,\n 'data:': getDataProtocolModuleFormat,\n 'file:': getFileProtocolModuleFormat,\n 'http:': getHttpProtocolModuleFormat,\n 'https:': getHttpProtocolModuleFormat,\n 'node:'() {\n return 'builtin'\n }\n};\n\n/**\n * @param {URL} parsed\n */\nfunction getDataProtocolModuleFormat(parsed) {\n const {1: mime} = /^([^/]+\\/[^;,]+)[^,]*?(;base64)?,/.exec(\n parsed.pathname\n ) || [null, null, null];\n return mimeToFormat(mime)\n}\n\n/**\n * Returns the file extension from a URL.\n *\n * Should give similar result to\n * `require('node:path').extname(require('node:url').fileURLToPath(url))`\n * when used with a `file:` URL.\n *\n * @param {URL} url\n * @returns {string}\n */\nfunction extname(url) {\n const pathname = url.pathname;\n let index = pathname.length;\n\n while (index--) {\n const code = pathname.codePointAt(index);\n\n if (code === 47 /* `/` */) {\n return ''\n }\n\n if (code === 46 /* `.` */) {\n return pathname.codePointAt(index - 1) === 47 /* `/` */\n ? ''\n : pathname.slice(index)\n }\n }\n\n return ''\n}\n\n/**\n * @type {ProtocolHandler}\n */\nfunction getFileProtocolModuleFormat(url, _context, ignoreErrors) {\n const ext = extname(url);\n\n if (ext === '.js') {\n return getPackageType(url) === 'module' ? 'module' : 'commonjs'\n }\n\n const format = extensionFormatMap[ext];\n if (format) return format\n\n // Explicit undefined return indicates load hook should rerun format check\n if (ignoreErrors) {\n return undefined\n }\n\n const filepath = fileURLToPath(url);\n throw new ERR_UNKNOWN_FILE_EXTENSION(ext, filepath)\n}\n\nfunction getHttpProtocolModuleFormat() {\n // To do: HTTPS imports.\n}\n\n/**\n * @param {URL} url\n * @param {{parentURL: string}} context\n * @returns {string | null}\n */\nfunction defaultGetFormatWithoutErrors(url, context) {\n if (!hasOwnProperty.call(protocolHandlers, url.protocol)) {\n return null\n }\n\n return protocolHandlers[url.protocol](url, context, true) || null\n}\n\n// Manually “tree shaken†from:\n\nconst {ERR_INVALID_ARG_VALUE} = codes;\n\n// In Node itself these values are populated from CLI arguments, before any\n// user code runs.\n// Here we just define the defaults.\nconst DEFAULT_CONDITIONS = Object.freeze(['node', 'import']);\nconst DEFAULT_CONDITIONS_SET = new Set(DEFAULT_CONDITIONS);\n\nfunction getDefaultConditions() {\n return DEFAULT_CONDITIONS\n}\n\nfunction getDefaultConditionsSet() {\n return DEFAULT_CONDITIONS_SET\n}\n\n/**\n * @param {Array} [conditions]\n * @returns {Set}\n */\nfunction getConditionsSet(conditions) {\n if (conditions !== undefined && conditions !== getDefaultConditions()) {\n if (!Array.isArray(conditions)) {\n throw new ERR_INVALID_ARG_VALUE(\n 'conditions',\n conditions,\n 'expected an array'\n )\n }\n\n return new Set(conditions)\n }\n\n return getDefaultConditionsSet()\n}\n\n// Manually “tree shaken†from:\n\nconst RegExpPrototypeSymbolReplace = RegExp.prototype[Symbol.replace];\n\n// To do: potentially enable?\nconst experimentalNetworkImports = false;\n\nconst {\n ERR_NETWORK_IMPORT_DISALLOWED,\n ERR_INVALID_MODULE_SPECIFIER,\n ERR_INVALID_PACKAGE_CONFIG,\n ERR_INVALID_PACKAGE_TARGET,\n ERR_MODULE_NOT_FOUND,\n ERR_PACKAGE_IMPORT_NOT_DEFINED,\n ERR_PACKAGE_PATH_NOT_EXPORTED,\n ERR_UNSUPPORTED_DIR_IMPORT,\n ERR_UNSUPPORTED_ESM_URL_SCHEME\n} = codes;\n\nconst own = {}.hasOwnProperty;\n\nconst invalidSegmentRegEx =\n /(^|\\\\|\\/)((\\.|%2e)(\\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))?(\\\\|\\/|$)/i;\nconst deprecatedInvalidSegmentRegEx =\n /(^|\\\\|\\/)((\\.|%2e)(\\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\\\|\\/|$)/i;\nconst invalidPackageNameRegEx = /^\\.|%|\\\\/;\nconst patternRegEx = /\\*/g;\nconst encodedSepRegEx = /%2f|%5c/i;\n/** @type {Set} */\nconst emittedPackageWarnings = new Set();\n\nconst doubleSlashRegEx = /[/\\\\]{2}/;\n\n/**\n *\n * @param {string} target\n * @param {string} request\n * @param {string} match\n * @param {URL} packageJsonUrl\n * @param {boolean} internal\n * @param {URL} base\n * @param {boolean} isTarget\n */\nfunction emitInvalidSegmentDeprecation(\n target,\n request,\n match,\n packageJsonUrl,\n internal,\n base,\n isTarget\n) {\n const pjsonPath = fileURLToPath(packageJsonUrl);\n const double = doubleSlashRegEx.exec(isTarget ? target : request) !== null;\n process.emitWarning(\n `Use of deprecated ${\n double ? 'double slash' : 'leading or trailing slash matching'\n } resolving \"${target}\" for module ` +\n `request \"${request}\" ${\n request === match ? '' : `matched to \"${match}\" `\n }in the \"${\n internal ? 'imports' : 'exports'\n }\" field module resolution of the package at ${pjsonPath}${\n base ? ` imported from ${fileURLToPath(base)}` : ''\n }.`,\n 'DeprecationWarning',\n 'DEP0166'\n );\n}\n\n/**\n * @param {URL} url\n * @param {URL} packageJsonUrl\n * @param {URL} base\n * @param {unknown} [main]\n * @returns {void}\n */\nfunction emitLegacyIndexDeprecation(url, packageJsonUrl, base, main) {\n const format = defaultGetFormatWithoutErrors(url, {parentURL: base.href});\n if (format !== 'module') return\n const path = fileURLToPath(url.href);\n const pkgPath = fileURLToPath(new URL('.', packageJsonUrl));\n const basePath = fileURLToPath(base);\n if (main)\n process.emitWarning(\n `Package ${pkgPath} has a \"main\" field set to ${JSON.stringify(main)}, ` +\n `excluding the full filename and extension to the resolved file at \"${path.slice(\n pkgPath.length\n )}\", imported from ${basePath}.\\n Automatic extension resolution of the \"main\" field is` +\n 'deprecated for ES modules.',\n 'DeprecationWarning',\n 'DEP0151'\n );\n else\n process.emitWarning(\n `No \"main\" or \"exports\" field defined in the package.json for ${pkgPath} resolving the main entry point \"${path.slice(\n pkgPath.length\n )}\", imported from ${basePath}.\\nDefault \"index\" lookups for the main are deprecated for ES modules.`,\n 'DeprecationWarning',\n 'DEP0151'\n );\n}\n\n/**\n * @param {string} path\n * @returns {Stats}\n */\nfunction tryStatSync(path) {\n // Note: from Node 15 onwards we can use `throwIfNoEntry: false` instead.\n try {\n return statSync(path)\n } catch {\n return new Stats()\n }\n}\n\n/**\n * Legacy CommonJS main resolution:\n * 1. let M = pkg_url + (json main field)\n * 2. TRY(M, M.js, M.json, M.node)\n * 3. TRY(M/index.js, M/index.json, M/index.node)\n * 4. TRY(pkg_url/index.js, pkg_url/index.json, pkg_url/index.node)\n * 5. NOT_FOUND\n *\n * @param {URL} url\n * @returns {boolean}\n */\nfunction fileExists(url) {\n const stats = statSync(url, {throwIfNoEntry: false});\n const isFile = stats ? stats.isFile() : undefined;\n return isFile === null || isFile === undefined ? false : isFile\n}\n\n/**\n * @param {URL} packageJsonUrl\n * @param {PackageConfig} packageConfig\n * @param {URL} base\n * @returns {URL}\n */\nfunction legacyMainResolve(packageJsonUrl, packageConfig, base) {\n /** @type {URL | undefined} */\n let guess;\n if (packageConfig.main !== undefined) {\n guess = new URL(packageConfig.main, packageJsonUrl);\n // Note: fs check redundances will be handled by Descriptor cache here.\n if (fileExists(guess)) return guess\n\n const tries = [\n `./${packageConfig.main}.js`,\n `./${packageConfig.main}.json`,\n `./${packageConfig.main}.node`,\n `./${packageConfig.main}/index.js`,\n `./${packageConfig.main}/index.json`,\n `./${packageConfig.main}/index.node`\n ];\n let i = -1;\n\n while (++i < tries.length) {\n guess = new URL(tries[i], packageJsonUrl);\n if (fileExists(guess)) break\n guess = undefined;\n }\n\n if (guess) {\n emitLegacyIndexDeprecation(\n guess,\n packageJsonUrl,\n base,\n packageConfig.main\n );\n return guess\n }\n // Fallthrough.\n }\n\n const tries = ['./index.js', './index.json', './index.node'];\n let i = -1;\n\n while (++i < tries.length) {\n guess = new URL(tries[i], packageJsonUrl);\n if (fileExists(guess)) break\n guess = undefined;\n }\n\n if (guess) {\n emitLegacyIndexDeprecation(guess, packageJsonUrl, base, packageConfig.main);\n return guess\n }\n\n // Not found.\n throw new ERR_MODULE_NOT_FOUND(\n fileURLToPath(new URL('.', packageJsonUrl)),\n fileURLToPath(base)\n )\n}\n\n/**\n * @param {URL} resolved\n * @param {URL} base\n * @param {boolean} [preserveSymlinks]\n * @returns {URL}\n */\nfunction finalizeResolution(resolved, base, preserveSymlinks) {\n if (encodedSepRegEx.exec(resolved.pathname) !== null)\n throw new ERR_INVALID_MODULE_SPECIFIER(\n resolved.pathname,\n 'must not include encoded \"/\" or \"\\\\\" characters',\n fileURLToPath(base)\n )\n\n const filePath = fileURLToPath(resolved);\n\n const stats = tryStatSync(\n filePath.endsWith('/') ? filePath.slice(-1) : filePath\n );\n\n if (stats.isDirectory()) {\n const error = new ERR_UNSUPPORTED_DIR_IMPORT(filePath, fileURLToPath(base));\n // @ts-expect-error Add this for `import.meta.resolve`.\n error.url = String(resolved);\n throw error\n }\n\n if (!stats.isFile()) {\n throw new ERR_MODULE_NOT_FOUND(\n filePath || resolved.pathname,\n base && fileURLToPath(base),\n 'module'\n )\n }\n\n if (!preserveSymlinks) {\n const real = realpathSync(filePath);\n const {search, hash} = resolved;\n resolved = pathToFileURL(real + (filePath.endsWith(path.sep) ? '/' : ''));\n resolved.search = search;\n resolved.hash = hash;\n }\n\n return resolved\n}\n\n/**\n * @param {string} specifier\n * @param {URL | undefined} packageJsonUrl\n * @param {URL} base\n * @returns {Error}\n */\nfunction importNotDefined(specifier, packageJsonUrl, base) {\n return new ERR_PACKAGE_IMPORT_NOT_DEFINED(\n specifier,\n packageJsonUrl && fileURLToPath(new URL('.', packageJsonUrl)),\n fileURLToPath(base)\n )\n}\n\n/**\n * @param {string} subpath\n * @param {URL} packageJsonUrl\n * @param {URL} base\n * @returns {Error}\n */\nfunction exportsNotFound(subpath, packageJsonUrl, base) {\n return new ERR_PACKAGE_PATH_NOT_EXPORTED(\n fileURLToPath(new URL('.', packageJsonUrl)),\n subpath,\n base && fileURLToPath(base)\n )\n}\n\n/**\n * @param {string} request\n * @param {string} match\n * @param {URL} packageJsonUrl\n * @param {boolean} internal\n * @param {URL} [base]\n * @returns {never}\n */\nfunction throwInvalidSubpath(request, match, packageJsonUrl, internal, base) {\n const reason = `request is not a valid match in pattern \"${match}\" for the \"${\n internal ? 'imports' : 'exports'\n }\" resolution of ${fileURLToPath(packageJsonUrl)}`;\n throw new ERR_INVALID_MODULE_SPECIFIER(\n request,\n reason,\n base && fileURLToPath(base)\n )\n}\n\n/**\n * @param {string} subpath\n * @param {unknown} target\n * @param {URL} packageJsonUrl\n * @param {boolean} internal\n * @param {URL} [base]\n * @returns {Error}\n */\nfunction invalidPackageTarget(subpath, target, packageJsonUrl, internal, base) {\n target =\n typeof target === 'object' && target !== null\n ? JSON.stringify(target, null, '')\n : `${target}`;\n\n return new ERR_INVALID_PACKAGE_TARGET(\n fileURLToPath(new URL('.', packageJsonUrl)),\n subpath,\n target,\n internal,\n base && fileURLToPath(base)\n )\n}\n\n/**\n * @param {string} target\n * @param {string} subpath\n * @param {string} match\n * @param {URL} packageJsonUrl\n * @param {URL} base\n * @param {boolean} pattern\n * @param {boolean} internal\n * @param {boolean} isPathMap\n * @param {Set | undefined} conditions\n * @returns {URL}\n */\nfunction resolvePackageTargetString(\n target,\n subpath,\n match,\n packageJsonUrl,\n base,\n pattern,\n internal,\n isPathMap,\n conditions\n) {\n if (subpath !== '' && !pattern && target[target.length - 1] !== '/')\n throw invalidPackageTarget(match, target, packageJsonUrl, internal, base)\n\n if (!target.startsWith('./')) {\n if (internal && !target.startsWith('../') && !target.startsWith('/')) {\n let isURL = false;\n\n try {\n new URL(target);\n isURL = true;\n } catch {\n // Continue regardless of error.\n }\n\n if (!isURL) {\n const exportTarget = pattern\n ? RegExpPrototypeSymbolReplace.call(\n patternRegEx,\n target,\n () => subpath\n )\n : target + subpath;\n\n return packageResolve(exportTarget, packageJsonUrl, conditions)\n }\n }\n\n throw invalidPackageTarget(match, target, packageJsonUrl, internal, base)\n }\n\n if (invalidSegmentRegEx.exec(target.slice(2)) !== null) {\n if (deprecatedInvalidSegmentRegEx.exec(target.slice(2)) === null) {\n if (!isPathMap) {\n const request = pattern\n ? match.replace('*', () => subpath)\n : match + subpath;\n const resolvedTarget = pattern\n ? RegExpPrototypeSymbolReplace.call(\n patternRegEx,\n target,\n () => subpath\n )\n : target;\n emitInvalidSegmentDeprecation(\n resolvedTarget,\n request,\n match,\n packageJsonUrl,\n internal,\n base,\n true\n );\n }\n } else {\n throw invalidPackageTarget(match, target, packageJsonUrl, internal, base)\n }\n }\n\n const resolved = new URL(target, packageJsonUrl);\n const resolvedPath = resolved.pathname;\n const packagePath = new URL('.', packageJsonUrl).pathname;\n\n if (!resolvedPath.startsWith(packagePath))\n throw invalidPackageTarget(match, target, packageJsonUrl, internal, base)\n\n if (subpath === '') return resolved\n\n if (invalidSegmentRegEx.exec(subpath) !== null) {\n const request = pattern\n ? match.replace('*', () => subpath)\n : match + subpath;\n if (deprecatedInvalidSegmentRegEx.exec(subpath) === null) {\n if (!isPathMap) {\n const resolvedTarget = pattern\n ? RegExpPrototypeSymbolReplace.call(\n patternRegEx,\n target,\n () => subpath\n )\n : target;\n emitInvalidSegmentDeprecation(\n resolvedTarget,\n request,\n match,\n packageJsonUrl,\n internal,\n base,\n false\n );\n }\n } else {\n throwInvalidSubpath(request, match, packageJsonUrl, internal, base);\n }\n }\n\n if (pattern) {\n return new URL(\n RegExpPrototypeSymbolReplace.call(\n patternRegEx,\n resolved.href,\n () => subpath\n )\n )\n }\n\n return new URL(subpath, resolved)\n}\n\n/**\n * @param {string} key\n * @returns {boolean}\n */\nfunction isArrayIndex(key) {\n const keyNumber = Number(key);\n if (`${keyNumber}` !== key) return false\n return keyNumber >= 0 && keyNumber < 0xff_ff_ff_ff\n}\n\n/**\n * @param {URL} packageJsonUrl\n * @param {unknown} target\n * @param {string} subpath\n * @param {string} packageSubpath\n * @param {URL} base\n * @param {boolean} pattern\n * @param {boolean} internal\n * @param {boolean} isPathMap\n * @param {Set | undefined} conditions\n * @returns {URL | null}\n */\nfunction resolvePackageTarget(\n packageJsonUrl,\n target,\n subpath,\n packageSubpath,\n base,\n pattern,\n internal,\n isPathMap,\n conditions\n) {\n if (typeof target === 'string') {\n return resolvePackageTargetString(\n target,\n subpath,\n packageSubpath,\n packageJsonUrl,\n base,\n pattern,\n internal,\n isPathMap,\n conditions\n )\n }\n\n if (Array.isArray(target)) {\n /** @type {Array} */\n const targetList = target;\n if (targetList.length === 0) return null\n\n /** @type {ErrnoException | null | undefined} */\n let lastException;\n let i = -1;\n\n while (++i < targetList.length) {\n const targetItem = targetList[i];\n /** @type {URL | null} */\n let resolveResult;\n try {\n resolveResult = resolvePackageTarget(\n packageJsonUrl,\n targetItem,\n subpath,\n packageSubpath,\n base,\n pattern,\n internal,\n isPathMap,\n conditions\n );\n } catch (error) {\n const exception = /** @type {ErrnoException} */ (error);\n lastException = exception;\n if (exception.code === 'ERR_INVALID_PACKAGE_TARGET') continue\n throw error\n }\n\n if (resolveResult === undefined) continue\n\n if (resolveResult === null) {\n lastException = null;\n continue\n }\n\n return resolveResult\n }\n\n if (lastException === undefined || lastException === null) {\n return null\n }\n\n throw lastException\n }\n\n if (typeof target === 'object' && target !== null) {\n const keys = Object.getOwnPropertyNames(target);\n let i = -1;\n\n while (++i < keys.length) {\n const key = keys[i];\n if (isArrayIndex(key)) {\n throw new ERR_INVALID_PACKAGE_CONFIG(\n fileURLToPath(packageJsonUrl),\n base,\n '\"exports\" cannot contain numeric property keys.'\n )\n }\n }\n\n i = -1;\n\n while (++i < keys.length) {\n const key = keys[i];\n if (key === 'default' || (conditions && conditions.has(key))) {\n // @ts-expect-error: indexable.\n const conditionalTarget = /** @type {unknown} */ (target[key]);\n const resolveResult = resolvePackageTarget(\n packageJsonUrl,\n conditionalTarget,\n subpath,\n packageSubpath,\n base,\n pattern,\n internal,\n isPathMap,\n conditions\n );\n if (resolveResult === undefined) continue\n return resolveResult\n }\n }\n\n return null\n }\n\n if (target === null) {\n return null\n }\n\n throw invalidPackageTarget(\n packageSubpath,\n target,\n packageJsonUrl,\n internal,\n base\n )\n}\n\n/**\n * @param {unknown} exports\n * @param {URL} packageJsonUrl\n * @param {URL} base\n * @returns {boolean}\n */\nfunction isConditionalExportsMainSugar(exports, packageJsonUrl, base) {\n if (typeof exports === 'string' || Array.isArray(exports)) return true\n if (typeof exports !== 'object' || exports === null) return false\n\n const keys = Object.getOwnPropertyNames(exports);\n let isConditionalSugar = false;\n let i = 0;\n let j = -1;\n while (++j < keys.length) {\n const key = keys[j];\n const curIsConditionalSugar = key === '' || key[0] !== '.';\n if (i++ === 0) {\n isConditionalSugar = curIsConditionalSugar;\n } else if (isConditionalSugar !== curIsConditionalSugar) {\n throw new ERR_INVALID_PACKAGE_CONFIG(\n fileURLToPath(packageJsonUrl),\n base,\n '\"exports\" cannot contain some keys starting with \\'.\\' and some not.' +\n ' The exports object must either be an object of package subpath keys' +\n ' or an object of main entry condition name keys only.'\n )\n }\n }\n\n return isConditionalSugar\n}\n\n/**\n * @param {string} match\n * @param {URL} pjsonUrl\n * @param {URL} base\n */\nfunction emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) {\n const pjsonPath = fileURLToPath(pjsonUrl);\n if (emittedPackageWarnings.has(pjsonPath + '|' + match)) return\n emittedPackageWarnings.add(pjsonPath + '|' + match);\n process.emitWarning(\n `Use of deprecated trailing slash pattern mapping \"${match}\" in the ` +\n `\"exports\" field module resolution of the package at ${pjsonPath}${\n base ? ` imported from ${fileURLToPath(base)}` : ''\n }. Mapping specifiers ending in \"/\" is no longer supported.`,\n 'DeprecationWarning',\n 'DEP0155'\n );\n}\n\n/**\n * @param {URL} packageJsonUrl\n * @param {string} packageSubpath\n * @param {Record} packageConfig\n * @param {URL} base\n * @param {Set | undefined} conditions\n * @returns {URL}\n */\nfunction packageExportsResolve(\n packageJsonUrl,\n packageSubpath,\n packageConfig,\n base,\n conditions\n) {\n let exports = packageConfig.exports;\n\n if (isConditionalExportsMainSugar(exports, packageJsonUrl, base)) {\n exports = {'.': exports};\n }\n\n if (\n own.call(exports, packageSubpath) &&\n !packageSubpath.includes('*') &&\n !packageSubpath.endsWith('/')\n ) {\n // @ts-expect-error: indexable.\n const target = exports[packageSubpath];\n const resolveResult = resolvePackageTarget(\n packageJsonUrl,\n target,\n '',\n packageSubpath,\n base,\n false,\n false,\n false,\n conditions\n );\n if (resolveResult === null || resolveResult === undefined) {\n throw exportsNotFound(packageSubpath, packageJsonUrl, base)\n }\n\n return resolveResult\n }\n\n let bestMatch = '';\n let bestMatchSubpath = '';\n const keys = Object.getOwnPropertyNames(exports);\n let i = -1;\n\n while (++i < keys.length) {\n const key = keys[i];\n const patternIndex = key.indexOf('*');\n\n if (\n patternIndex !== -1 &&\n packageSubpath.startsWith(key.slice(0, patternIndex))\n ) {\n // When this reaches EOL, this can throw at the top of the whole function:\n //\n // if (StringPrototypeEndsWith(packageSubpath, '/'))\n // throwInvalidSubpath(packageSubpath)\n //\n // To match \"imports\" and the spec.\n if (packageSubpath.endsWith('/')) {\n emitTrailingSlashPatternDeprecation(\n packageSubpath,\n packageJsonUrl,\n base\n );\n }\n\n const patternTrailer = key.slice(patternIndex + 1);\n\n if (\n packageSubpath.length >= key.length &&\n packageSubpath.endsWith(patternTrailer) &&\n patternKeyCompare(bestMatch, key) === 1 &&\n key.lastIndexOf('*') === patternIndex\n ) {\n bestMatch = key;\n bestMatchSubpath = packageSubpath.slice(\n patternIndex,\n packageSubpath.length - patternTrailer.length\n );\n }\n }\n }\n\n if (bestMatch) {\n // @ts-expect-error: indexable.\n const target = /** @type {unknown} */ (exports[bestMatch]);\n const resolveResult = resolvePackageTarget(\n packageJsonUrl,\n target,\n bestMatchSubpath,\n bestMatch,\n base,\n true,\n false,\n packageSubpath.endsWith('/'),\n conditions\n );\n\n if (resolveResult === null || resolveResult === undefined) {\n throw exportsNotFound(packageSubpath, packageJsonUrl, base)\n }\n\n return resolveResult\n }\n\n throw exportsNotFound(packageSubpath, packageJsonUrl, base)\n}\n\n/**\n * @param {string} a\n * @param {string} b\n */\nfunction patternKeyCompare(a, b) {\n const aPatternIndex = a.indexOf('*');\n const bPatternIndex = b.indexOf('*');\n const baseLengthA = aPatternIndex === -1 ? a.length : aPatternIndex + 1;\n const baseLengthB = bPatternIndex === -1 ? b.length : bPatternIndex + 1;\n if (baseLengthA > baseLengthB) return -1\n if (baseLengthB > baseLengthA) return 1\n if (aPatternIndex === -1) return 1\n if (bPatternIndex === -1) return -1\n if (a.length > b.length) return -1\n if (b.length > a.length) return 1\n return 0\n}\n\n/**\n * @param {string} name\n * @param {URL} base\n * @param {Set} [conditions]\n * @returns {URL}\n */\nfunction packageImportsResolve(name, base, conditions) {\n if (name === '#' || name.startsWith('#/') || name.endsWith('/')) {\n const reason = 'is not a valid internal imports specifier name';\n throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, fileURLToPath(base))\n }\n\n /** @type {URL | undefined} */\n let packageJsonUrl;\n\n const packageConfig = getPackageScopeConfig(base);\n\n if (packageConfig.exists) {\n packageJsonUrl = pathToFileURL(packageConfig.pjsonPath);\n const imports = packageConfig.imports;\n if (imports) {\n if (own.call(imports, name) && !name.includes('*')) {\n const resolveResult = resolvePackageTarget(\n packageJsonUrl,\n imports[name],\n '',\n name,\n base,\n false,\n true,\n false,\n conditions\n );\n if (resolveResult !== null && resolveResult !== undefined) {\n return resolveResult\n }\n } else {\n let bestMatch = '';\n let bestMatchSubpath = '';\n const keys = Object.getOwnPropertyNames(imports);\n let i = -1;\n\n while (++i < keys.length) {\n const key = keys[i];\n const patternIndex = key.indexOf('*');\n\n if (patternIndex !== -1 && name.startsWith(key.slice(0, -1))) {\n const patternTrailer = key.slice(patternIndex + 1);\n if (\n name.length >= key.length &&\n name.endsWith(patternTrailer) &&\n patternKeyCompare(bestMatch, key) === 1 &&\n key.lastIndexOf('*') === patternIndex\n ) {\n bestMatch = key;\n bestMatchSubpath = name.slice(\n patternIndex,\n name.length - patternTrailer.length\n );\n }\n }\n }\n\n if (bestMatch) {\n const target = imports[bestMatch];\n const resolveResult = resolvePackageTarget(\n packageJsonUrl,\n target,\n bestMatchSubpath,\n bestMatch,\n base,\n true,\n true,\n false,\n conditions\n );\n\n if (resolveResult !== null && resolveResult !== undefined) {\n return resolveResult\n }\n }\n }\n }\n }\n\n throw importNotDefined(name, packageJsonUrl, base)\n}\n\n// Note: In Node.js, `getPackageType` is here.\n// To prevent a circular dependency, we move it to\n// `resolve-get-package-type.js`.\n\n/**\n * @param {string} specifier\n * @param {URL} base\n */\nfunction parsePackageName(specifier, base) {\n let separatorIndex = specifier.indexOf('/');\n let validPackageName = true;\n let isScoped = false;\n if (specifier[0] === '@') {\n isScoped = true;\n if (separatorIndex === -1 || specifier.length === 0) {\n validPackageName = false;\n } else {\n separatorIndex = specifier.indexOf('/', separatorIndex + 1);\n }\n }\n\n const packageName =\n separatorIndex === -1 ? specifier : specifier.slice(0, separatorIndex);\n\n // Package name cannot have leading . and cannot have percent-encoding or\n // \\\\ separators.\n if (invalidPackageNameRegEx.exec(packageName) !== null) {\n validPackageName = false;\n }\n\n if (!validPackageName) {\n throw new ERR_INVALID_MODULE_SPECIFIER(\n specifier,\n 'is not a valid package name',\n fileURLToPath(base)\n )\n }\n\n const packageSubpath =\n '.' + (separatorIndex === -1 ? '' : specifier.slice(separatorIndex));\n\n return {packageName, packageSubpath, isScoped}\n}\n\n/**\n * @param {string} specifier\n * @param {URL} base\n * @param {Set | undefined} conditions\n * @returns {URL}\n */\nfunction packageResolve(specifier, base, conditions) {\n if (builtinModules.includes(specifier)) {\n return new URL('node:' + specifier)\n }\n\n const {packageName, packageSubpath, isScoped} = parsePackageName(\n specifier,\n base\n );\n\n // ResolveSelf\n const packageConfig = getPackageScopeConfig(base);\n\n // Can’t test.\n /* c8 ignore next 16 */\n if (packageConfig.exists) {\n const packageJsonUrl = pathToFileURL(packageConfig.pjsonPath);\n if (\n packageConfig.name === packageName &&\n packageConfig.exports !== undefined &&\n packageConfig.exports !== null\n ) {\n return packageExportsResolve(\n packageJsonUrl,\n packageSubpath,\n packageConfig,\n base,\n conditions\n )\n }\n }\n\n let packageJsonUrl = new URL(\n './node_modules/' + packageName + '/package.json',\n base\n );\n let packageJsonPath = fileURLToPath(packageJsonUrl);\n /** @type {string} */\n let lastPath;\n do {\n const stat = tryStatSync(packageJsonPath.slice(0, -13));\n if (!stat.isDirectory()) {\n lastPath = packageJsonPath;\n packageJsonUrl = new URL(\n (isScoped ? '../../../../node_modules/' : '../../../node_modules/') +\n packageName +\n '/package.json',\n packageJsonUrl\n );\n packageJsonPath = fileURLToPath(packageJsonUrl);\n continue\n }\n\n // Package match.\n const packageConfig = getPackageConfig(packageJsonPath, specifier, base);\n if (packageConfig.exports !== undefined && packageConfig.exports !== null) {\n return packageExportsResolve(\n packageJsonUrl,\n packageSubpath,\n packageConfig,\n base,\n conditions\n )\n }\n\n if (packageSubpath === '.') {\n return legacyMainResolve(packageJsonUrl, packageConfig, base)\n }\n\n return new URL(packageSubpath, packageJsonUrl)\n // Cross-platform root check.\n } while (packageJsonPath.length !== lastPath.length)\n\n throw new ERR_MODULE_NOT_FOUND(packageName, fileURLToPath(base))\n}\n\n/**\n * @param {string} specifier\n * @returns {boolean}\n */\nfunction isRelativeSpecifier(specifier) {\n if (specifier[0] === '.') {\n if (specifier.length === 1 || specifier[1] === '/') return true\n if (\n specifier[1] === '.' &&\n (specifier.length === 2 || specifier[2] === '/')\n ) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * @param {string} specifier\n * @returns {boolean}\n */\nfunction shouldBeTreatedAsRelativeOrAbsolutePath(specifier) {\n if (specifier === '') return false\n if (specifier[0] === '/') return true\n return isRelativeSpecifier(specifier)\n}\n\n/**\n * The “Resolver Algorithm Specification†as detailed in the Node docs (which is\n * sync and slightly lower-level than `resolve`).\n *\n * @param {string} specifier\n * `/example.js`, `./example.js`, `../example.js`, `some-package`, `fs`, etc.\n * @param {URL} base\n * Full URL (to a file) that `specifier` is resolved relative from.\n * @param {Set} [conditions]\n * Conditions.\n * @param {boolean} [preserveSymlinks]\n * Keep symlinks instead of resolving them.\n * @returns {URL}\n * A URL object to the found thing.\n */\nfunction moduleResolve(specifier, base, conditions, preserveSymlinks) {\n const protocol = base.protocol;\n const isRemote = protocol === 'http:' || protocol === 'https:';\n // Order swapped from spec for minor perf gain.\n // Ok since relative URLs cannot parse as URLs.\n /** @type {URL | undefined} */\n let resolved;\n\n if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) {\n resolved = new URL(specifier, base);\n } else if (!isRemote && specifier[0] === '#') {\n resolved = packageImportsResolve(specifier, base, conditions);\n } else {\n try {\n resolved = new URL(specifier);\n } catch {\n if (!isRemote) {\n resolved = packageResolve(specifier, base, conditions);\n }\n }\n }\n\n assert(resolved !== undefined, 'expected to be defined');\n\n if (resolved.protocol !== 'file:') {\n return resolved\n }\n\n return finalizeResolution(resolved, base, preserveSymlinks)\n}\n\n/**\n * @param {string} specifier\n * @param {URL | undefined} parsed\n * @param {URL | undefined} parsedParentURL\n */\nfunction checkIfDisallowedImport(specifier, parsed, parsedParentURL) {\n if (parsedParentURL) {\n // Avoid accessing the `protocol` property due to the lazy getters.\n const parentProtocol = parsedParentURL.protocol;\n\n if (parentProtocol === 'http:' || parentProtocol === 'https:') {\n if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) {\n // Avoid accessing the `protocol` property due to the lazy getters.\n const parsedProtocol = parsed?.protocol;\n\n // `data:` and `blob:` disallowed due to allowing file: access via\n // indirection\n if (\n parsedProtocol &&\n parsedProtocol !== 'https:' &&\n parsedProtocol !== 'http:'\n ) {\n throw new ERR_NETWORK_IMPORT_DISALLOWED(\n specifier,\n parsedParentURL,\n 'remote imports cannot import from a local location.'\n )\n }\n\n return {url: parsed?.href || ''}\n }\n\n if (builtinModules.includes(specifier)) {\n throw new ERR_NETWORK_IMPORT_DISALLOWED(\n specifier,\n parsedParentURL,\n 'remote imports cannot import from a local location.'\n )\n }\n\n throw new ERR_NETWORK_IMPORT_DISALLOWED(\n specifier,\n parsedParentURL,\n 'only relative and absolute specifiers are supported.'\n )\n }\n }\n}\n\n// Note: this is from:\n// \n/**\n * Checks if a value has the shape of a WHATWG URL object.\n *\n * Using a symbol or instanceof would not be able to recognize URL objects\n * coming from other implementations (e.g. in Electron), so instead we are\n * checking some well known properties for a lack of a better test.\n *\n * We use `href` and `protocol` as they are the only properties that are\n * easy to retrieve and calculate due to the lazy nature of the getters.\n *\n * @template {unknown} Value\n * @param {Value} self\n * @returns {Value is URL}\n */\nfunction isURL(self) {\n return Boolean(\n self &&\n typeof self === 'object' &&\n 'href' in self &&\n typeof self.href === 'string' &&\n 'protocol' in self &&\n typeof self.protocol === 'string' &&\n self.href &&\n self.protocol\n )\n}\n\n/**\n * Validate user-input in `context` supplied by a custom loader.\n *\n * @param {unknown} parentURL\n * @returns {asserts parentURL is URL | string | undefined}\n */\nfunction throwIfInvalidParentURL(parentURL) {\n if (parentURL === undefined) {\n return // Main entry point, so no parent\n }\n\n if (typeof parentURL !== 'string' && !isURL(parentURL)) {\n throw new codes.ERR_INVALID_ARG_TYPE(\n 'parentURL',\n ['string', 'URL'],\n parentURL\n )\n }\n}\n\n/**\n * @param {URL} url\n */\nfunction throwIfUnsupportedURLProtocol(url) {\n // Avoid accessing the `protocol` property due to the lazy getters.\n const protocol = url.protocol;\n\n if (protocol !== 'file:' && protocol !== 'data:' && protocol !== 'node:') {\n throw new ERR_UNSUPPORTED_ESM_URL_SCHEME(url)\n }\n}\n\n/**\n * @param {URL | undefined} parsed\n * @param {boolean} experimentalNetworkImports\n */\nfunction throwIfUnsupportedURLScheme(parsed, experimentalNetworkImports) {\n // Avoid accessing the `protocol` property due to the lazy getters.\n const protocol = parsed?.protocol;\n\n if (\n protocol &&\n protocol !== 'file:' &&\n protocol !== 'data:' &&\n (!experimentalNetworkImports ||\n (protocol !== 'https:' && protocol !== 'http:'))\n ) {\n throw new ERR_UNSUPPORTED_ESM_URL_SCHEME(\n parsed,\n ['file', 'data'].concat(\n experimentalNetworkImports ? ['https', 'http'] : []\n )\n )\n }\n}\n\n/**\n * @param {string} specifier\n * @param {{parentURL?: string, conditions?: Array}} context\n * @returns {{url: string, format?: string | null}}\n */\nfunction defaultResolve(specifier, context = {}) {\n const {parentURL} = context;\n assert(parentURL !== undefined, 'expected `parentURL` to be defined');\n throwIfInvalidParentURL(parentURL);\n\n /** @type {URL | undefined} */\n let parsedParentURL;\n if (parentURL) {\n try {\n parsedParentURL = new URL(parentURL);\n } catch {\n // Ignore exception\n }\n }\n\n /** @type {URL | undefined} */\n let parsed;\n try {\n parsed = shouldBeTreatedAsRelativeOrAbsolutePath(specifier)\n ? new URL(specifier, parsedParentURL)\n : new URL(specifier);\n\n // Avoid accessing the `protocol` property due to the lazy getters.\n const protocol = parsed.protocol;\n\n if (\n protocol === 'data:' ||\n (experimentalNetworkImports &&\n (protocol === 'https:' || protocol === 'http:'))\n ) {\n return {url: parsed.href, format: null}\n }\n } catch {\n // Ignore exception\n }\n\n // There are multiple deep branches that can either throw or return; instead\n // of duplicating that deeply nested logic for the possible returns, DRY and\n // check for a return. This seems the least gnarly.\n const maybeReturn = checkIfDisallowedImport(\n specifier,\n parsed,\n parsedParentURL\n );\n\n if (maybeReturn) return maybeReturn\n\n // This must come after checkIfDisallowedImport\n if (parsed && parsed.protocol === 'node:') return {url: specifier}\n\n throwIfUnsupportedURLScheme(parsed, experimentalNetworkImports);\n\n const conditions = getConditionsSet(context.conditions);\n\n const url = moduleResolve(specifier, new URL(parentURL), conditions, false);\n\n throwIfUnsupportedURLProtocol(url);\n\n return {\n // Do NOT cast `url` to a string: that will work even when there are real\n // problems, silencing them\n url: url.href,\n format: defaultGetFormatWithoutErrors(url, {parentURL})\n }\n}\n\n/**\n * @typedef {import('./lib/errors.js').ErrnoException} ErrnoException\n */\n\n/**\n * Match `import.meta.resolve` except that `parent` is required (you can pass\n * `import.meta.url`).\n *\n * @param {string} specifier\n * The module specifier to resolve relative to parent\n * (`/example.js`, `./example.js`, `../example.js`, `some-package`, `fs`,\n * etc).\n * @param {string} parent\n * The absolute parent module URL to resolve from.\n * You must pass `import.meta.url` or something else.\n * @returns {string}\n * Returns a string to a full `file:`, `data:`, or `node:` URL\n * to the found thing.\n */\nfunction resolve(specifier, parent) {\n if (!parent) {\n throw new Error(\n 'Please pass `parent`: `import-meta-resolve` cannot ponyfill that'\n )\n }\n\n try {\n return defaultResolve(specifier, {parentURL: parent}).url\n } catch (error) {\n const exception = /** @type {ErrnoException} */ (error);\n\n if (\n exception.code === 'ERR_UNSUPPORTED_DIR_IMPORT' &&\n typeof exception.url === 'string'\n ) {\n return exception.url\n }\n\n throw error\n }\n}\n\nexport { moduleResolve, resolve };\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/core/package.json b/node_modules/@babel/core/package.json index e12f23ed4..b727b8209 100644 --- a/node_modules/@babel/core/package.json +++ b/node_modules/@babel/core/package.json @@ -1,6 +1,6 @@ { "name": "@babel/core", - "version": "7.21.4", + "version": "7.22.5", "description": "Babel compiler core.", "main": "./lib/index.js", "author": "The Babel Team (https://babel.dev/team)", @@ -47,15 +47,15 @@ }, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.4", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.4", - "@babel/types": "^7.21.4", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -63,12 +63,12 @@ "semver": "^6.3.0" }, "devDependencies": { - "@babel/helper-transform-fixture-test-runner": "^7.20.14", - "@babel/plugin-syntax-flow": "^7.21.4", - "@babel/plugin-transform-flow-strip-types": "^7.21.0", - "@babel/plugin-transform-modules-commonjs": "^7.21.2", - "@babel/preset-env": "^7.21.4", - "@babel/preset-typescript": "^7.21.4", + "@babel/helper-transform-fixture-test-runner": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5", + "@babel/plugin-transform-flow-strip-types": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/preset-env": "^7.22.5", + "@babel/preset-typescript": "^7.22.5", "@jridgewell/trace-mapping": "^0.3.17", "@types/convert-source-map": "^1.5.1", "@types/debug": "^4.1.0", diff --git a/node_modules/@babel/core/src/config/files/index.ts b/node_modules/@babel/core/src/config/files/index.ts index 5c340eb4b..55f68cb73 100644 --- a/node_modules/@babel/core/src/config/files/index.ts +++ b/node_modules/@babel/core/src/config/files/index.ts @@ -21,10 +21,9 @@ export type { RelativeConfig, FilePackageData, } from "./types"; -export { loadPlugin, loadPreset } from "./plugins"; - -import gensync from "gensync"; -import * as plugins from "./plugins"; - -export const resolvePlugin = gensync(plugins.resolvePlugin).sync; -export const resolvePreset = gensync(plugins.resolvePreset).sync; +export { + loadPlugin, + loadPreset, + resolvePlugin, + resolvePreset, +} from "./plugins"; diff --git a/node_modules/@babel/eslint-parser/lib/analyze-scope.cjs.map b/node_modules/@babel/eslint-parser/lib/analyze-scope.cjs.map index f802ecc09..2ce3f7588 100644 --- a/node_modules/@babel/eslint-parser/lib/analyze-scope.cjs.map +++ b/node_modules/@babel/eslint-parser/lib/analyze-scope.cjs.map @@ -1 +1 @@ -{"version":3,"names":["Definition","PatternVisitor","OriginalPatternVisitor","Referencer","OriginalReferencer","Scope","ScopeManager","require","getKeys","fallback","visitorKeysMap","getVisitorValues","nodeType","client","FLOW_FLIPPED_ALIAS_KEYS","VISITOR_KEYS","getTypesInfo","flowFlippedAliasKeys","concat","Object","entries","reduce","acc","key","value","includes","propertyTypes","callProperties","type","values","indexers","properties","types","params","argument","elementType","qualification","rest","returnType","typeAnnotation","typeParameters","id","ArrayPattern","node","elements","forEach","visit","ObjectPattern","_client","WeakMap","constructor","options","scopeManager","_classPrivateFieldInitSpec","writable","_classPrivateFieldSet","visitPattern","callback","_checkIdentifierOrVisit","left","processRightHandNodes","visitor","rightHandNodes","visitClass","_visitArray","decorators","typeParamScope","_nestTypeParamScope","_visitTypeAnnotation","implements","superTypeParameters","close","visitFunction","visitProperty","_node$value","InterfaceDeclaration","_createScopeVariable","extends","body","TypeAlias","right","ClassProperty","_visitClassProperty","ClassPrivateProperty","PropertyDefinition","ClassPrivateMethod","MethodDefinition","DeclareModule","_visitDeclareX","DeclareFunction","DeclareVariable","DeclareClass","OptionalMemberExpression","MemberExpression","name","currentScope","variableScope","__define","parentScope","__currentScope","scope","__nestScope","j","length","apply","arguments","Array","isArray","visitorValues","_classPrivateFieldGet","i","visitorValue","propertyType","nodeProperty","k","loopPropertyNode","l","nodeList","module","exports","analyzeScope","ast","parserOptions","_parserOptions$ecmaFe","ignoreEval","optimistic","directive","nodejsScope","sourceType","ecmaFeatures","globalReturn","impliedStrict","ecmaVersion","childVisitorKeys","getVisitorKeys","referencer"],"sources":["../src/analyze-scope.cjs"],"sourcesContent":["const {\n Definition,\n PatternVisitor: OriginalPatternVisitor,\n Referencer: OriginalReferencer,\n Scope,\n ScopeManager,\n} = process.env.BABEL_8_BREAKING\n ? require(\"eslint-scope\")\n : require(\"@nicolo-ribaudo/eslint-scope-5-internals\");\nconst { getKeys: fallback } = require(\"eslint-visitor-keys\");\n\nlet visitorKeysMap;\nfunction getVisitorValues(nodeType, client) {\n if (visitorKeysMap) return visitorKeysMap[nodeType];\n\n const { FLOW_FLIPPED_ALIAS_KEYS, VISITOR_KEYS } = client.getTypesInfo();\n\n const flowFlippedAliasKeys = FLOW_FLIPPED_ALIAS_KEYS.concat([\n \"ArrayPattern\",\n \"ClassDeclaration\",\n \"ClassExpression\",\n \"FunctionDeclaration\",\n \"FunctionExpression\",\n \"Identifier\",\n \"ObjectPattern\",\n \"RestElement\",\n ]);\n\n visitorKeysMap = Object.entries(VISITOR_KEYS).reduce((acc, [key, value]) => {\n if (!flowFlippedAliasKeys.includes(value)) {\n acc[key] = value;\n }\n return acc;\n }, {});\n\n return visitorKeysMap[nodeType];\n}\n\nconst propertyTypes = {\n // loops\n callProperties: { type: \"loop\", values: [\"value\"] },\n indexers: { type: \"loop\", values: [\"key\", \"value\"] },\n properties: { type: \"loop\", values: [\"argument\", \"value\"] },\n types: { type: \"loop\" },\n params: { type: \"loop\" },\n // single property\n argument: { type: \"single\" },\n elementType: { type: \"single\" },\n qualification: { type: \"single\" },\n rest: { type: \"single\" },\n returnType: { type: \"single\" },\n // others\n typeAnnotation: { type: \"typeAnnotation\" },\n typeParameters: { type: \"typeParameters\" },\n id: { type: \"id\" },\n};\n\nclass PatternVisitor extends OriginalPatternVisitor {\n ArrayPattern(node) {\n node.elements.forEach(this.visit, this);\n }\n\n ObjectPattern(node) {\n node.properties.forEach(this.visit, this);\n }\n}\n\nclass Referencer extends OriginalReferencer {\n #client;\n\n constructor(options, scopeManager, client) {\n super(options, scopeManager);\n this.#client = client;\n }\n\n // inherits.\n visitPattern(node, options, callback) {\n if (!node) {\n return;\n }\n\n // Visit type annotations.\n this._checkIdentifierOrVisit(node.typeAnnotation);\n if (node.type === \"AssignmentPattern\") {\n this._checkIdentifierOrVisit(node.left.typeAnnotation);\n }\n\n // Overwrite `super.visitPattern(node, options, callback)` in order to not visit `ArrayPattern#typeAnnotation` and `ObjectPattern#typeAnnotation`.\n if (typeof options === \"function\") {\n callback = options;\n options = { processRightHandNodes: false };\n }\n\n const visitor = new PatternVisitor(this.options, node, callback);\n visitor.visit(node);\n\n // Process the right hand nodes recursively.\n if (options.processRightHandNodes) {\n visitor.rightHandNodes.forEach(this.visit, this);\n }\n }\n\n // inherits.\n visitClass(node) {\n // Decorators.\n this._visitArray(node.decorators);\n\n // Flow type parameters.\n const typeParamScope = this._nestTypeParamScope(node);\n\n // Flow super types.\n this._visitTypeAnnotation(node.implements);\n this._visitTypeAnnotation(\n node.superTypeParameters && node.superTypeParameters.params,\n );\n\n // Basic.\n super.visitClass(node);\n\n // Close the type parameter scope.\n if (typeParamScope) {\n this.close(node);\n }\n }\n\n // inherits.\n visitFunction(node) {\n const typeParamScope = this._nestTypeParamScope(node);\n\n // Flow return types.\n this._checkIdentifierOrVisit(node.returnType);\n\n // Basic.\n super.visitFunction(node);\n\n // Close the type parameter scope.\n if (typeParamScope) {\n this.close(node);\n }\n }\n\n // inherits.\n visitProperty(node) {\n if (node.value?.type === \"TypeCastExpression\") {\n this._visitTypeAnnotation(node.value);\n }\n this._visitArray(node.decorators);\n super.visitProperty(node);\n }\n\n InterfaceDeclaration(node) {\n this._createScopeVariable(node, node.id);\n\n const typeParamScope = this._nestTypeParamScope(node);\n\n // TODO: Handle mixins\n this._visitArray(node.extends);\n this.visit(node.body);\n\n if (typeParamScope) {\n this.close(node);\n }\n }\n\n TypeAlias(node) {\n this._createScopeVariable(node, node.id);\n\n const typeParamScope = this._nestTypeParamScope(node);\n\n this.visit(node.right);\n\n if (typeParamScope) {\n this.close(node);\n }\n }\n\n ClassProperty(node) {\n this._visitClassProperty(node);\n }\n\n ClassPrivateProperty(node) {\n this._visitClassProperty(node);\n }\n\n PropertyDefinition(node) {\n this._visitClassProperty(node);\n }\n\n // TODO: Update to visit type annotations when TypeScript/Flow support this syntax.\n ClassPrivateMethod(node) {\n super.MethodDefinition(node);\n }\n\n DeclareModule(node) {\n this._visitDeclareX(node);\n }\n\n DeclareFunction(node) {\n this._visitDeclareX(node);\n }\n\n DeclareVariable(node) {\n this._visitDeclareX(node);\n }\n\n DeclareClass(node) {\n this._visitDeclareX(node);\n }\n\n // visit OptionalMemberExpression as a MemberExpression.\n OptionalMemberExpression(node) {\n super.MemberExpression(node);\n }\n\n _visitClassProperty(node) {\n this._visitTypeAnnotation(node.typeAnnotation);\n this.visitProperty(node);\n }\n\n _visitDeclareX(node) {\n if (node.id) {\n this._createScopeVariable(node, node.id);\n }\n\n const typeParamScope = this._nestTypeParamScope(node);\n if (typeParamScope) {\n this.close(node);\n }\n }\n\n _createScopeVariable(node, name) {\n this.currentScope().variableScope.__define(\n name,\n new Definition(\"Variable\", name, node, null, null, null),\n );\n }\n\n _nestTypeParamScope(node) {\n if (!node.typeParameters) {\n return null;\n }\n\n const parentScope = this.scopeManager.__currentScope;\n const scope = new Scope(\n this.scopeManager,\n \"type-parameters\",\n parentScope,\n node,\n false,\n );\n\n this.scopeManager.__nestScope(scope);\n for (let j = 0; j < node.typeParameters.params.length; j++) {\n const name = node.typeParameters.params[j];\n scope.__define(name, new Definition(\"TypeParameter\", name, name));\n if (name.typeAnnotation) {\n this._checkIdentifierOrVisit(name);\n }\n }\n scope.__define = function () {\n return parentScope.__define.apply(parentScope, arguments);\n };\n\n return scope;\n }\n\n _visitTypeAnnotation(node) {\n if (!node) {\n return;\n }\n if (Array.isArray(node)) {\n node.forEach(this._visitTypeAnnotation, this);\n return;\n }\n\n // get property to check (params, id, etc...)\n const visitorValues = getVisitorValues(node.type, this.#client);\n if (!visitorValues) {\n return;\n }\n\n // can have multiple properties\n for (let i = 0; i < visitorValues.length; i++) {\n const visitorValue = visitorValues[i];\n const propertyType = propertyTypes[visitorValue];\n const nodeProperty = node[visitorValue];\n // check if property or type is defined\n if (propertyType == null || nodeProperty == null) {\n continue;\n }\n if (propertyType.type === \"loop\") {\n for (let j = 0; j < nodeProperty.length; j++) {\n if (Array.isArray(propertyType.values)) {\n for (let k = 0; k < propertyType.values.length; k++) {\n const loopPropertyNode = nodeProperty[j][propertyType.values[k]];\n if (loopPropertyNode) {\n this._checkIdentifierOrVisit(loopPropertyNode);\n }\n }\n } else {\n this._checkIdentifierOrVisit(nodeProperty[j]);\n }\n }\n } else if (propertyType.type === \"single\") {\n this._checkIdentifierOrVisit(nodeProperty);\n } else if (propertyType.type === \"typeAnnotation\") {\n this._visitTypeAnnotation(node.typeAnnotation);\n } else if (propertyType.type === \"typeParameters\") {\n for (let l = 0; l < node.typeParameters.params.length; l++) {\n this._checkIdentifierOrVisit(node.typeParameters.params[l]);\n }\n } else if (propertyType.type === \"id\") {\n if (node.id.type === \"Identifier\") {\n this._checkIdentifierOrVisit(node.id);\n } else {\n this._visitTypeAnnotation(node.id);\n }\n }\n }\n }\n\n _checkIdentifierOrVisit(node) {\n if (node?.typeAnnotation) {\n this._visitTypeAnnotation(node.typeAnnotation);\n } else if (node?.type === \"Identifier\") {\n this.visit(node);\n } else {\n this._visitTypeAnnotation(node);\n }\n }\n\n _visitArray(nodeList) {\n if (nodeList) {\n for (const node of nodeList) {\n this.visit(node);\n }\n }\n }\n}\n\nmodule.exports = function analyzeScope(ast, parserOptions, client) {\n const options = {\n ignoreEval: true,\n optimistic: false,\n directive: false,\n nodejsScope:\n ast.sourceType === \"script\" &&\n parserOptions.ecmaFeatures?.globalReturn === true,\n impliedStrict: false,\n sourceType: ast.sourceType,\n ecmaVersion: parserOptions.ecmaVersion,\n fallback,\n };\n\n options.childVisitorKeys = client.getVisitorKeys();\n\n const scopeManager = new ScopeManager(options);\n const referencer = new Referencer(options, scopeManager, client);\n\n referencer.visit(ast);\n\n return scopeManager;\n};\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["Definition","PatternVisitor","OriginalPatternVisitor","Referencer","OriginalReferencer","Scope","ScopeManager","require","getKeys","fallback","visitorKeysMap","getVisitorValues","nodeType","client","FLOW_FLIPPED_ALIAS_KEYS","VISITOR_KEYS","getTypesInfo","flowFlippedAliasKeys","concat","Object","entries","reduce","acc","key","value","includes","propertyTypes","callProperties","type","values","indexers","properties","types","params","argument","elementType","qualification","rest","returnType","typeAnnotation","typeParameters","id","ArrayPattern","node","elements","forEach","visit","ObjectPattern","_client","WeakMap","constructor","options","scopeManager","_classPrivateFieldInitSpec","writable","_classPrivateFieldSet","visitPattern","callback","_checkIdentifierOrVisit","left","processRightHandNodes","visitor","rightHandNodes","visitClass","_visitArray","decorators","typeParamScope","_nestTypeParamScope","_visitTypeAnnotation","implements","superTypeParameters","close","visitFunction","visitProperty","_node$value","InterfaceDeclaration","_createScopeVariable","extends","body","TypeAlias","right","ClassProperty","_visitClassProperty","ClassPrivateProperty","PropertyDefinition","ClassPrivateMethod","MethodDefinition","DeclareModule","_visitDeclareX","DeclareFunction","DeclareVariable","DeclareClass","OptionalMemberExpression","MemberExpression","name","currentScope","variableScope","__define","parentScope","__currentScope","scope","__nestScope","j","length","apply","arguments","Array","isArray","visitorValues","_classPrivateFieldGet","i","visitorValue","propertyType","nodeProperty","k","loopPropertyNode","l","nodeList","module","exports","analyzeScope","ast","parserOptions","_parserOptions$ecmaFe","ignoreEval","optimistic","directive","nodejsScope","sourceType","ecmaFeatures","globalReturn","impliedStrict","ecmaVersion","childVisitorKeys","getVisitorKeys","referencer"],"sources":["../src/analyze-scope.cjs"],"sourcesContent":["const {\n Definition,\n PatternVisitor: OriginalPatternVisitor,\n Referencer: OriginalReferencer,\n Scope,\n ScopeManager,\n} = process.env.BABEL_8_BREAKING\n ? require(\"eslint-scope\")\n : require(\"@nicolo-ribaudo/eslint-scope-5-internals\");\nconst { getKeys: fallback } = require(\"eslint-visitor-keys\");\n\nlet visitorKeysMap;\nfunction getVisitorValues(nodeType, client) {\n if (visitorKeysMap) return visitorKeysMap[nodeType];\n\n const { FLOW_FLIPPED_ALIAS_KEYS, VISITOR_KEYS } = client.getTypesInfo();\n\n const flowFlippedAliasKeys = FLOW_FLIPPED_ALIAS_KEYS.concat([\n \"ArrayPattern\",\n \"ClassDeclaration\",\n \"ClassExpression\",\n \"FunctionDeclaration\",\n \"FunctionExpression\",\n \"Identifier\",\n \"ObjectPattern\",\n \"RestElement\",\n ]);\n\n visitorKeysMap = Object.entries(VISITOR_KEYS).reduce((acc, [key, value]) => {\n if (!flowFlippedAliasKeys.includes(value)) {\n acc[key] = value;\n }\n return acc;\n }, {});\n\n return visitorKeysMap[nodeType];\n}\n\nconst propertyTypes = {\n // loops\n callProperties: { type: \"loop\", values: [\"value\"] },\n indexers: { type: \"loop\", values: [\"key\", \"value\"] },\n properties: { type: \"loop\", values: [\"argument\", \"value\"] },\n types: { type: \"loop\" },\n params: { type: \"loop\" },\n // single property\n argument: { type: \"single\" },\n elementType: { type: \"single\" },\n qualification: { type: \"single\" },\n rest: { type: \"single\" },\n returnType: { type: \"single\" },\n // others\n typeAnnotation: { type: \"typeAnnotation\" },\n typeParameters: { type: \"typeParameters\" },\n id: { type: \"id\" },\n};\n\nclass PatternVisitor extends OriginalPatternVisitor {\n ArrayPattern(node) {\n node.elements.forEach(this.visit, this);\n }\n\n ObjectPattern(node) {\n node.properties.forEach(this.visit, this);\n }\n}\n\nclass Referencer extends OriginalReferencer {\n #client;\n\n constructor(options, scopeManager, client) {\n super(options, scopeManager);\n this.#client = client;\n }\n\n // inherits.\n visitPattern(node, options, callback) {\n if (!node) {\n return;\n }\n\n // Visit type annotations.\n this._checkIdentifierOrVisit(node.typeAnnotation);\n if (node.type === \"AssignmentPattern\") {\n this._checkIdentifierOrVisit(node.left.typeAnnotation);\n }\n\n // Overwrite `super.visitPattern(node, options, callback)` in order to not visit `ArrayPattern#typeAnnotation` and `ObjectPattern#typeAnnotation`.\n if (typeof options === \"function\") {\n callback = options;\n options = { processRightHandNodes: false };\n }\n\n const visitor = new PatternVisitor(this.options, node, callback);\n visitor.visit(node);\n\n // Process the right hand nodes recursively.\n if (options.processRightHandNodes) {\n visitor.rightHandNodes.forEach(this.visit, this);\n }\n }\n\n // inherits.\n visitClass(node) {\n // Decorators.\n this._visitArray(node.decorators);\n\n // Flow type parameters.\n const typeParamScope = this._nestTypeParamScope(node);\n\n // Flow super types.\n this._visitTypeAnnotation(node.implements);\n this._visitTypeAnnotation(\n node.superTypeParameters && node.superTypeParameters.params,\n );\n\n // Basic.\n super.visitClass(node);\n\n // Close the type parameter scope.\n if (typeParamScope) {\n this.close(node);\n }\n }\n\n // inherits.\n visitFunction(node) {\n const typeParamScope = this._nestTypeParamScope(node);\n\n // Flow return types.\n this._checkIdentifierOrVisit(node.returnType);\n\n // Basic.\n super.visitFunction(node);\n\n // Close the type parameter scope.\n if (typeParamScope) {\n this.close(node);\n }\n }\n\n // inherits.\n visitProperty(node) {\n if (node.value?.type === \"TypeCastExpression\") {\n this._visitTypeAnnotation(node.value);\n }\n this._visitArray(node.decorators);\n super.visitProperty(node);\n }\n\n InterfaceDeclaration(node) {\n this._createScopeVariable(node, node.id);\n\n const typeParamScope = this._nestTypeParamScope(node);\n\n // TODO: Handle mixins\n this._visitArray(node.extends);\n this.visit(node.body);\n\n if (typeParamScope) {\n this.close(node);\n }\n }\n\n TypeAlias(node) {\n this._createScopeVariable(node, node.id);\n\n const typeParamScope = this._nestTypeParamScope(node);\n\n this.visit(node.right);\n\n if (typeParamScope) {\n this.close(node);\n }\n }\n\n ClassProperty(node) {\n this._visitClassProperty(node);\n }\n\n ClassPrivateProperty(node) {\n this._visitClassProperty(node);\n }\n\n PropertyDefinition(node) {\n this._visitClassProperty(node);\n }\n\n // TODO: Update to visit type annotations when TypeScript/Flow support this syntax.\n ClassPrivateMethod(node) {\n super.MethodDefinition(node);\n }\n\n DeclareModule(node) {\n this._visitDeclareX(node);\n }\n\n DeclareFunction(node) {\n this._visitDeclareX(node);\n }\n\n DeclareVariable(node) {\n this._visitDeclareX(node);\n }\n\n DeclareClass(node) {\n this._visitDeclareX(node);\n }\n\n // visit OptionalMemberExpression as a MemberExpression.\n OptionalMemberExpression(node) {\n super.MemberExpression(node);\n }\n\n _visitClassProperty(node) {\n this._visitTypeAnnotation(node.typeAnnotation);\n this.visitProperty(node);\n }\n\n _visitDeclareX(node) {\n if (node.id) {\n this._createScopeVariable(node, node.id);\n }\n\n const typeParamScope = this._nestTypeParamScope(node);\n if (typeParamScope) {\n this.close(node);\n }\n }\n\n _createScopeVariable(node, name) {\n this.currentScope().variableScope.__define(\n name,\n new Definition(\"Variable\", name, node, null, null, null),\n );\n }\n\n _nestTypeParamScope(node) {\n if (!node.typeParameters) {\n return null;\n }\n\n const parentScope = this.scopeManager.__currentScope;\n const scope = new Scope(\n this.scopeManager,\n \"type-parameters\",\n parentScope,\n node,\n false,\n );\n\n this.scopeManager.__nestScope(scope);\n for (let j = 0; j < node.typeParameters.params.length; j++) {\n const name = node.typeParameters.params[j];\n scope.__define(name, new Definition(\"TypeParameter\", name, name));\n if (name.typeAnnotation) {\n this._checkIdentifierOrVisit(name);\n }\n }\n scope.__define = function () {\n return parentScope.__define.apply(parentScope, arguments);\n };\n\n return scope;\n }\n\n _visitTypeAnnotation(node) {\n if (!node) {\n return;\n }\n if (Array.isArray(node)) {\n node.forEach(this._visitTypeAnnotation, this);\n return;\n }\n\n // get property to check (params, id, etc...)\n const visitorValues = getVisitorValues(node.type, this.#client);\n if (!visitorValues) {\n return;\n }\n\n // can have multiple properties\n for (let i = 0; i < visitorValues.length; i++) {\n const visitorValue = visitorValues[i];\n const propertyType = propertyTypes[visitorValue];\n const nodeProperty = node[visitorValue];\n // check if property or type is defined\n if (propertyType == null || nodeProperty == null) {\n continue;\n }\n if (propertyType.type === \"loop\") {\n for (let j = 0; j < nodeProperty.length; j++) {\n if (Array.isArray(propertyType.values)) {\n for (let k = 0; k < propertyType.values.length; k++) {\n const loopPropertyNode = nodeProperty[j][propertyType.values[k]];\n if (loopPropertyNode) {\n this._checkIdentifierOrVisit(loopPropertyNode);\n }\n }\n } else {\n this._checkIdentifierOrVisit(nodeProperty[j]);\n }\n }\n } else if (propertyType.type === \"single\") {\n this._checkIdentifierOrVisit(nodeProperty);\n } else if (propertyType.type === \"typeAnnotation\") {\n this._visitTypeAnnotation(node.typeAnnotation);\n } else if (propertyType.type === \"typeParameters\") {\n for (let l = 0; l < node.typeParameters.params.length; l++) {\n this._checkIdentifierOrVisit(node.typeParameters.params[l]);\n }\n } else if (propertyType.type === \"id\") {\n if (node.id.type === \"Identifier\") {\n this._checkIdentifierOrVisit(node.id);\n } else {\n this._visitTypeAnnotation(node.id);\n }\n }\n }\n }\n\n _checkIdentifierOrVisit(node) {\n if (node?.typeAnnotation) {\n this._visitTypeAnnotation(node.typeAnnotation);\n } else if (node?.type === \"Identifier\") {\n this.visit(node);\n } else {\n this._visitTypeAnnotation(node);\n }\n }\n\n _visitArray(nodeList) {\n if (nodeList) {\n for (const node of nodeList) {\n this.visit(node);\n }\n }\n }\n}\n\nmodule.exports = function analyzeScope(ast, parserOptions, client) {\n const options = {\n ignoreEval: true,\n optimistic: false,\n directive: false,\n nodejsScope:\n ast.sourceType === \"script\" &&\n parserOptions.ecmaFeatures?.globalReturn === true,\n impliedStrict: false,\n sourceType: ast.sourceType,\n ecmaVersion: parserOptions.ecmaVersion,\n fallback,\n };\n\n options.childVisitorKeys = client.getVisitorKeys();\n\n const scopeManager = new ScopeManager(options);\n const referencer = new Referencer(options, scopeManager, client);\n\n referencer.visit(ast);\n\n return scopeManager;\n};\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/eslint-parser/lib/client.cjs.map b/node_modules/@babel/eslint-parser/lib/client.cjs.map index 7f8236cfc..59f43b1df 100644 --- a/node_modules/@babel/eslint-parser/lib/client.cjs.map +++ b/node_modules/@babel/eslint-parser/lib/client.cjs.map @@ -1 +1 @@ -{"version":3,"names":["path","require","ACTIONS","GET_VERSION","GET_TYPES_INFO","GET_VISITOR_KEYS","GET_TOKEN_LABELS","MAYBE_PARSE","MAYBE_PARSE_SYNC","_send","WeakMap","_vCache","_tiCache","_vkCache","_tlCache","Client","constructor","send","_classPrivateFieldInitSpec","writable","value","_classPrivateFieldSet","getVersion","_classPrivateFieldGet2","_classPrivateFieldGet","call","undefined","getTypesInfo","_classPrivateFieldGet3","getVisitorKeys","_classPrivateFieldGet4","getTokLabels","_classPrivateFieldGet5","maybeParse","code","options","exports","WorkerClient","_worker","_class","action","payload","signal","Int32Array","SharedArrayBuffer","subChannel","_classStaticPrivateFieldSpecGet","_worker_threads","MessageChannel","postMessage","port","port1","Atomics","wait","message","receiveMessageOnPort","port2","error","Object","assign","errorData","result","Worker","resolve","__dirname","env","SHARE_ENV","unref","get","_get_worker_threads","set","_worker_threads_cache","_classStaticPrivateFi2","_classStaticPrivateFieldSpecSet","_class2","_handleMessage","LocalClient","_classStaticPrivateFi"],"sources":["../src/client.cjs"],"sourcesContent":["const path = require(\"path\");\n\nconst ACTIONS = {\n GET_VERSION: \"GET_VERSION\",\n GET_TYPES_INFO: \"GET_TYPES_INFO\",\n GET_VISITOR_KEYS: \"GET_VISITOR_KEYS\",\n GET_TOKEN_LABELS: \"GET_TOKEN_LABELS\",\n MAYBE_PARSE: \"MAYBE_PARSE\",\n MAYBE_PARSE_SYNC: \"MAYBE_PARSE_SYNC\",\n};\n\nclass Client {\n #send;\n\n constructor(send) {\n this.#send = send;\n }\n\n #vCache;\n getVersion() {\n return (this.#vCache ??= this.#send(ACTIONS.GET_VERSION, undefined));\n }\n\n #tiCache;\n getTypesInfo() {\n return (this.#tiCache ??= this.#send(ACTIONS.GET_TYPES_INFO, undefined));\n }\n\n #vkCache;\n getVisitorKeys() {\n return (this.#vkCache ??= this.#send(ACTIONS.GET_VISITOR_KEYS, undefined));\n }\n\n #tlCache;\n getTokLabels() {\n return (this.#tlCache ??= this.#send(ACTIONS.GET_TOKEN_LABELS, undefined));\n }\n\n maybeParse(code, options) {\n return this.#send(ACTIONS.MAYBE_PARSE, { code, options });\n }\n}\n\n// We need to run Babel in a worker for two reasons:\n// 1. ESLint workers must be CJS files, and this is a problem\n// since Babel 8+ uses native ESM\n// 2. ESLint parsers must run synchronously, but many steps\n// of Babel's config loading (which is done for each file)\n// can be asynchronous\n// If ESLint starts supporting async parsers, we can move\n// everything back to the main thread.\nexports.WorkerClient = class WorkerClient extends Client {\n static #worker_threads_cache;\n static get #worker_threads() {\n return (WorkerClient.#worker_threads_cache ??= require(\"worker_threads\"));\n }\n\n #worker = new WorkerClient.#worker_threads.Worker(\n path.resolve(__dirname, \"../lib/worker/index.cjs\"),\n { env: WorkerClient.#worker_threads.SHARE_ENV },\n );\n\n constructor() {\n super((action, payload) => {\n // We create a new SharedArrayBuffer every time rather than reusing\n // the same one, otherwise sometimes its contents get corrupted and\n // Atomics.wait wakes up too early.\n // https://github.com/babel/babel/pull/14541\n const signal = new Int32Array(new SharedArrayBuffer(8));\n\n const subChannel = new WorkerClient.#worker_threads.MessageChannel();\n\n this.#worker.postMessage(\n { signal, port: subChannel.port1, action, payload },\n [subChannel.port1],\n );\n\n Atomics.wait(signal, 0, 0);\n const { message } = WorkerClient.#worker_threads.receiveMessageOnPort(\n subChannel.port2,\n );\n\n if (message.error) throw Object.assign(message.error, message.errorData);\n else return message.result;\n });\n\n // The worker will never exit by itself. Prevent it from keeping\n // the main process alive.\n this.#worker.unref();\n }\n};\n\nif (!USE_ESM) {\n exports.LocalClient = class LocalClient extends Client {\n static #handleMessage;\n\n constructor() {\n LocalClient.#handleMessage ??= require(\"./worker/handle-message.cjs\");\n\n super((action, payload) => {\n return LocalClient.#handleMessage(\n action === ACTIONS.MAYBE_PARSE ? ACTIONS.MAYBE_PARSE_SYNC : action,\n payload,\n );\n });\n }\n };\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["path","require","ACTIONS","GET_VERSION","GET_TYPES_INFO","GET_VISITOR_KEYS","GET_TOKEN_LABELS","MAYBE_PARSE","MAYBE_PARSE_SYNC","_send","WeakMap","_vCache","_tiCache","_vkCache","_tlCache","Client","constructor","send","_classPrivateFieldInitSpec","writable","value","_classPrivateFieldSet","getVersion","_classPrivateFieldGet2","_classPrivateFieldGet","call","undefined","getTypesInfo","_classPrivateFieldGet3","getVisitorKeys","_classPrivateFieldGet4","getTokLabels","_classPrivateFieldGet5","maybeParse","code","options","exports","WorkerClient","_worker","_class","action","payload","signal","Int32Array","SharedArrayBuffer","subChannel","_classStaticPrivateFieldSpecGet","_worker_threads","MessageChannel","postMessage","port","port1","Atomics","wait","message","receiveMessageOnPort","port2","error","Object","assign","errorData","result","Worker","resolve","__dirname","env","SHARE_ENV","unref","get","_get_worker_threads","set","_worker_threads_cache","_classStaticPrivateFi2","_classStaticPrivateFieldSpecSet","_class2","_handleMessage","LocalClient","_classStaticPrivateFi"],"sources":["../src/client.cjs"],"sourcesContent":["const path = require(\"path\");\n\nconst ACTIONS = {\n GET_VERSION: \"GET_VERSION\",\n GET_TYPES_INFO: \"GET_TYPES_INFO\",\n GET_VISITOR_KEYS: \"GET_VISITOR_KEYS\",\n GET_TOKEN_LABELS: \"GET_TOKEN_LABELS\",\n MAYBE_PARSE: \"MAYBE_PARSE\",\n MAYBE_PARSE_SYNC: \"MAYBE_PARSE_SYNC\",\n};\n\nclass Client {\n #send;\n\n constructor(send) {\n this.#send = send;\n }\n\n #vCache;\n getVersion() {\n return (this.#vCache ??= this.#send(ACTIONS.GET_VERSION, undefined));\n }\n\n #tiCache;\n getTypesInfo() {\n return (this.#tiCache ??= this.#send(ACTIONS.GET_TYPES_INFO, undefined));\n }\n\n #vkCache;\n getVisitorKeys() {\n return (this.#vkCache ??= this.#send(ACTIONS.GET_VISITOR_KEYS, undefined));\n }\n\n #tlCache;\n getTokLabels() {\n return (this.#tlCache ??= this.#send(ACTIONS.GET_TOKEN_LABELS, undefined));\n }\n\n maybeParse(code, options) {\n return this.#send(ACTIONS.MAYBE_PARSE, { code, options });\n }\n}\n\n// We need to run Babel in a worker for two reasons:\n// 1. ESLint workers must be CJS files, and this is a problem\n// since Babel 8+ uses native ESM\n// 2. ESLint parsers must run synchronously, but many steps\n// of Babel's config loading (which is done for each file)\n// can be asynchronous\n// If ESLint starts supporting async parsers, we can move\n// everything back to the main thread.\nexports.WorkerClient = class WorkerClient extends Client {\n static #worker_threads_cache;\n static get #worker_threads() {\n return (WorkerClient.#worker_threads_cache ??= require(\"worker_threads\"));\n }\n\n #worker = new WorkerClient.#worker_threads.Worker(\n path.resolve(__dirname, \"../lib/worker/index.cjs\"),\n { env: WorkerClient.#worker_threads.SHARE_ENV },\n );\n\n constructor() {\n super((action, payload) => {\n // We create a new SharedArrayBuffer every time rather than reusing\n // the same one, otherwise sometimes its contents get corrupted and\n // Atomics.wait wakes up too early.\n // https://github.com/babel/babel/pull/14541\n const signal = new Int32Array(new SharedArrayBuffer(8));\n\n const subChannel = new WorkerClient.#worker_threads.MessageChannel();\n\n this.#worker.postMessage(\n { signal, port: subChannel.port1, action, payload },\n [subChannel.port1],\n );\n\n Atomics.wait(signal, 0, 0);\n const { message } = WorkerClient.#worker_threads.receiveMessageOnPort(\n subChannel.port2,\n );\n\n if (message.error) throw Object.assign(message.error, message.errorData);\n else return message.result;\n });\n\n // The worker will never exit by itself. Prevent it from keeping\n // the main process alive.\n this.#worker.unref();\n }\n};\n\nif (!USE_ESM) {\n exports.LocalClient = class LocalClient extends Client {\n static #handleMessage;\n\n constructor() {\n LocalClient.#handleMessage ??= require(\"./worker/handle-message.cjs\");\n\n super((action, payload) => {\n return LocalClient.#handleMessage(\n action === ACTIONS.MAYBE_PARSE ? ACTIONS.MAYBE_PARSE_SYNC : action,\n payload,\n );\n });\n }\n };\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/eslint-parser/lib/configuration.cjs.map b/node_modules/@babel/eslint-parser/lib/configuration.cjs.map index 7f0632478..ff4fcb56c 100644 --- a/node_modules/@babel/eslint-parser/lib/configuration.cjs.map +++ b/node_modules/@babel/eslint-parser/lib/configuration.cjs.map @@ -1 +1 @@ -{"version":3,"names":["exports","normalizeESLintConfig","options","babelOptions","ecmaVersion","sourceType","requireConfigFile","otherOptions","_objectWithoutPropertiesLoose","_excluded","Object","assign","cwd","process"],"sources":["../src/configuration.cjs"],"sourcesContent":["exports.normalizeESLintConfig = function (options) {\n const {\n babelOptions = {},\n // ESLint sets ecmaVersion: undefined when ecmaVersion is not set in the config.\n ecmaVersion = 2020,\n sourceType = \"module\",\n requireConfigFile = true,\n ...otherOptions\n } = options;\n\n return {\n babelOptions: { cwd: process.cwd(), ...babelOptions },\n ecmaVersion: ecmaVersion === \"latest\" ? 1e8 : ecmaVersion,\n sourceType,\n requireConfigFile,\n ...otherOptions,\n };\n};\n"],"mappings":";;AAAAA,OAAO,CAACC,qBAAqB,GAAG,UAAUC,OAAO,EAAE;EACjD,MAAM;MACJC,YAAY,GAAG,CAAC,CAAC;MAEjBC,WAAW,GAAG,IAAI;MAClBC,UAAU,GAAG,QAAQ;MACrBC,iBAAiB,GAAG;IAEtB,CAAC,GAAGJ,OAAO;IADNK,YAAY,GAAAC,6BAAA,CACbN,OAAO,EAAAO,SAAA;EAEX,OAAAC,MAAA,CAAAC,MAAA;IACER,YAAY,EAAAO,MAAA,CAAAC,MAAA;MAAIC,GAAG,EAAEC,OAAO,CAACD,GAAG;IAAE,GAAKT,YAAY,CAAE;IACrDC,WAAW,EAAEA,WAAW,KAAK,QAAQ,GAAG,GAAG,GAAGA,WAAW;IACzDC,UAAU;IACVC;EAAiB,GACdC,YAAY;AAEnB,CAAC"} \ No newline at end of file +{"version":3,"names":["exports","normalizeESLintConfig","options","babelOptions","ecmaVersion","sourceType","requireConfigFile","otherOptions","_objectWithoutPropertiesLoose","_excluded","Object","assign","cwd","process"],"sources":["../src/configuration.cjs"],"sourcesContent":["exports.normalizeESLintConfig = function (options) {\n const {\n babelOptions = {},\n // ESLint sets ecmaVersion: undefined when ecmaVersion is not set in the config.\n ecmaVersion = 2020,\n sourceType = \"module\",\n requireConfigFile = true,\n ...otherOptions\n } = options;\n\n return {\n babelOptions: { cwd: process.cwd(), ...babelOptions },\n ecmaVersion: ecmaVersion === \"latest\" ? 1e8 : ecmaVersion,\n sourceType,\n requireConfigFile,\n ...otherOptions,\n };\n};\n"],"mappings":";;AAAAA,OAAO,CAACC,qBAAqB,GAAG,UAAUC,OAAO,EAAE;EACjD,MAAM;MACJC,YAAY,GAAG,CAAC,CAAC;MAEjBC,WAAW,GAAG,IAAI;MAClBC,UAAU,GAAG,QAAQ;MACrBC,iBAAiB,GAAG;IAEtB,CAAC,GAAGJ,OAAO;IADNK,YAAY,GAAAC,6BAAA,CACbN,OAAO,EAAAO,SAAA;EAEX,OAAAC,MAAA,CAAAC,MAAA;IACER,YAAY,EAAAO,MAAA,CAAAC,MAAA;MAAIC,GAAG,EAAEC,OAAO,CAACD,GAAG,CAAC;IAAC,GAAKT,YAAY,CAAE;IACrDC,WAAW,EAAEA,WAAW,KAAK,QAAQ,GAAG,GAAG,GAAGA,WAAW;IACzDC,UAAU;IACVC;EAAiB,GACdC,YAAY;AAEnB,CAAC"} \ No newline at end of file diff --git a/node_modules/@babel/eslint-parser/lib/convert/convertTokens.cjs.map b/node_modules/@babel/eslint-parser/lib/convert/convertTokens.cjs.map index 581c0eca9..21bf62b22 100644 --- a/node_modules/@babel/eslint-parser/lib/convert/convertTokens.cjs.map +++ b/node_modules/@babel/eslint-parser/lib/convert/convertTokens.cjs.map @@ -1 +1 @@ -{"version":3,"names":["ESLINT_VERSION","require","convertTemplateType","tokens","tl","curlyBrace","templateTokens","result","addTemplateType","start","end","length","value","reduce","token","type","label","template","push","loc","forEach","backQuote","dollarBraceL","braceR","convertToken","source","range","name","semi","comma","parenL","parenR","braceL","slash","dot","bracketL","bracketR","ellipsis","arrow","pipeline","star","incDec","colon","question","at","logicalOR","logicalAND","nullishCoalescing","bitwiseOR","bitwiseXOR","bitwiseAND","equality","relational","bitShift","plusMin","modulo","exponent","bang","tilde","doubleColon","hash","questionDot","braceHashL","braceBarL","braceBarR","bracketHashL","bracketBarL","bracketBarR","doubleCaret","doubleAt","isAssign","_token$value","jsxTagStart","jsxTagEnd","jsxName","jsxText","keyword","num","slice","string","regexp","regex","pattern","flags","bigint","privateName","templateNonTail","templateTail","rightAssociative","module","exports","convertTokens","code","templateTypeMergedTokens","i","tokenType","nextToken","column"],"sources":["../../src/convert/convertTokens.cjs"],"sourcesContent":["const ESLINT_VERSION = require(\"../utils/eslint-version.cjs\");\n\nfunction convertTemplateType(tokens, tl) {\n let curlyBrace = null;\n let templateTokens = [];\n const result = [];\n\n function addTemplateType() {\n const start = templateTokens[0];\n const end = templateTokens[templateTokens.length - 1];\n\n const value = templateTokens.reduce((result, token) => {\n if (token.value) {\n result += token.value;\n } else if (token.type.label !== tl.template) {\n result += token.type.label;\n }\n\n return result;\n }, \"\");\n\n result.push({\n type: \"Template\",\n value: value,\n start: start.start,\n end: end.end,\n loc: {\n start: start.loc.start,\n end: end.loc.end,\n },\n });\n\n templateTokens = [];\n }\n\n tokens.forEach(token => {\n switch (token.type.label) {\n case tl.backQuote:\n if (curlyBrace) {\n result.push(curlyBrace);\n curlyBrace = null;\n }\n\n templateTokens.push(token);\n\n if (templateTokens.length > 1) {\n addTemplateType();\n }\n\n break;\n\n case tl.dollarBraceL:\n templateTokens.push(token);\n addTemplateType();\n break;\n\n case tl.braceR:\n if (curlyBrace) {\n result.push(curlyBrace);\n }\n\n curlyBrace = token;\n break;\n\n case tl.template:\n if (curlyBrace) {\n templateTokens.push(curlyBrace);\n curlyBrace = null;\n }\n\n templateTokens.push(token);\n break;\n\n default:\n if (curlyBrace) {\n result.push(curlyBrace);\n curlyBrace = null;\n }\n\n result.push(token);\n }\n });\n\n return result;\n}\n\nfunction convertToken(token, source, tl) {\n const { type } = token;\n const { label } = type;\n token.range = [token.start, token.end];\n\n if (label === tl.name) {\n if (token.value === \"static\") {\n token.type = \"Keyword\";\n } else {\n token.type = \"Identifier\";\n }\n } else if (\n label === tl.semi ||\n label === tl.comma ||\n label === tl.parenL ||\n label === tl.parenR ||\n label === tl.braceL ||\n label === tl.braceR ||\n label === tl.slash ||\n label === tl.dot ||\n label === tl.bracketL ||\n label === tl.bracketR ||\n label === tl.ellipsis ||\n label === tl.arrow ||\n label === tl.pipeline ||\n label === tl.star ||\n label === tl.incDec ||\n label === tl.colon ||\n label === tl.question ||\n label === tl.template ||\n label === tl.backQuote ||\n label === tl.dollarBraceL ||\n label === tl.at ||\n label === tl.logicalOR ||\n label === tl.logicalAND ||\n label === tl.nullishCoalescing ||\n label === tl.bitwiseOR ||\n label === tl.bitwiseXOR ||\n label === tl.bitwiseAND ||\n label === tl.equality ||\n label === tl.relational ||\n label === tl.bitShift ||\n label === tl.plusMin ||\n label === tl.modulo ||\n label === tl.exponent ||\n label === tl.bang ||\n label === tl.tilde ||\n label === tl.doubleColon ||\n label === tl.hash ||\n label === tl.questionDot ||\n label === tl.braceHashL ||\n label === tl.braceBarL ||\n label === tl.braceBarR ||\n label === tl.bracketHashL ||\n label === tl.bracketBarL ||\n label === tl.bracketBarR ||\n label === tl.doubleCaret ||\n label === tl.doubleAt ||\n type.isAssign\n ) {\n token.type = \"Punctuator\";\n token.value ??= label;\n } else if (label === tl.jsxTagStart) {\n token.type = \"Punctuator\";\n token.value = \"<\";\n } else if (label === tl.jsxTagEnd) {\n token.type = \"Punctuator\";\n token.value = \">\";\n } else if (label === tl.jsxName) {\n token.type = \"JSXIdentifier\";\n } else if (label === tl.jsxText) {\n token.type = \"JSXText\";\n } else if (type.keyword === \"null\") {\n token.type = \"Null\";\n } else if (type.keyword === \"false\" || type.keyword === \"true\") {\n token.type = \"Boolean\";\n } else if (type.keyword) {\n token.type = \"Keyword\";\n } else if (label === tl.num) {\n token.type = \"Numeric\";\n token.value = source.slice(token.start, token.end);\n } else if (label === tl.string) {\n token.type = \"String\";\n token.value = source.slice(token.start, token.end);\n } else if (label === tl.regexp) {\n token.type = \"RegularExpression\";\n const value = token.value;\n token.regex = {\n pattern: value.pattern,\n flags: value.flags,\n };\n token.value = `/${value.pattern}/${value.flags}`;\n } else if (label === tl.bigint) {\n token.type = \"Numeric\";\n token.value = `${token.value}n`;\n } else if (label === tl.privateName) {\n token.type = \"PrivateIdentifier\";\n } else if (label === tl.templateNonTail || label === tl.templateTail) {\n token.type = \"Template\";\n }\n\n if (typeof token.type !== \"string\") {\n // Acorn does not have rightAssociative\n delete token.type.rightAssociative;\n }\n}\n\nmodule.exports = function convertTokens(tokens, code, tl) {\n const result = [];\n const templateTypeMergedTokens = process.env.BABEL_8_BREAKING\n ? tokens\n : convertTemplateType(tokens, tl);\n // The last token is always tt.eof and should be skipped\n for (let i = 0, { length } = templateTypeMergedTokens; i < length - 1; i++) {\n const token = templateTypeMergedTokens[i];\n const tokenType = token.type;\n if (tokenType === \"CommentLine\" || tokenType === \"CommentBlock\") {\n continue;\n }\n\n if (!process.env.BABEL_8_BREAKING) {\n // Babel 8 already produces a single token\n\n if (\n ESLINT_VERSION >= 8 &&\n i + 1 < length &&\n tokenType.label === tl.hash\n ) {\n const nextToken = templateTypeMergedTokens[i + 1];\n\n // We must disambiguate private identifier from the hack pipes topic token\n if (nextToken.type.label === tl.name && token.end === nextToken.start) {\n i++;\n\n nextToken.type = \"PrivateIdentifier\";\n nextToken.start -= 1;\n nextToken.loc.start.column -= 1;\n nextToken.range = [nextToken.start, nextToken.end];\n\n result.push(nextToken);\n continue;\n }\n }\n }\n\n convertToken(token, code, tl);\n result.push(token);\n }\n\n return result;\n};\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["ESLINT_VERSION","require","convertTemplateType","tokens","tl","curlyBrace","templateTokens","result","addTemplateType","start","end","length","value","reduce","token","type","label","template","push","loc","forEach","backQuote","dollarBraceL","braceR","convertToken","source","range","name","semi","comma","parenL","parenR","braceL","slash","dot","bracketL","bracketR","ellipsis","arrow","pipeline","star","incDec","colon","question","at","logicalOR","logicalAND","nullishCoalescing","bitwiseOR","bitwiseXOR","bitwiseAND","equality","relational","bitShift","plusMin","modulo","exponent","bang","tilde","doubleColon","hash","questionDot","braceHashL","braceBarL","braceBarR","bracketHashL","bracketBarL","bracketBarR","doubleCaret","doubleAt","isAssign","_token$value","jsxTagStart","jsxTagEnd","jsxName","jsxText","keyword","num","slice","string","regexp","regex","pattern","flags","bigint","privateName","templateNonTail","templateTail","rightAssociative","module","exports","convertTokens","code","templateTypeMergedTokens","i","tokenType","nextToken","column"],"sources":["../../src/convert/convertTokens.cjs"],"sourcesContent":["const ESLINT_VERSION = require(\"../utils/eslint-version.cjs\");\n\nfunction convertTemplateType(tokens, tl) {\n let curlyBrace = null;\n let templateTokens = [];\n const result = [];\n\n function addTemplateType() {\n const start = templateTokens[0];\n const end = templateTokens[templateTokens.length - 1];\n\n const value = templateTokens.reduce((result, token) => {\n if (token.value) {\n result += token.value;\n } else if (token.type.label !== tl.template) {\n result += token.type.label;\n }\n\n return result;\n }, \"\");\n\n result.push({\n type: \"Template\",\n value: value,\n start: start.start,\n end: end.end,\n loc: {\n start: start.loc.start,\n end: end.loc.end,\n },\n });\n\n templateTokens = [];\n }\n\n tokens.forEach(token => {\n switch (token.type.label) {\n case tl.backQuote:\n if (curlyBrace) {\n result.push(curlyBrace);\n curlyBrace = null;\n }\n\n templateTokens.push(token);\n\n if (templateTokens.length > 1) {\n addTemplateType();\n }\n\n break;\n\n case tl.dollarBraceL:\n templateTokens.push(token);\n addTemplateType();\n break;\n\n case tl.braceR:\n if (curlyBrace) {\n result.push(curlyBrace);\n }\n\n curlyBrace = token;\n break;\n\n case tl.template:\n if (curlyBrace) {\n templateTokens.push(curlyBrace);\n curlyBrace = null;\n }\n\n templateTokens.push(token);\n break;\n\n default:\n if (curlyBrace) {\n result.push(curlyBrace);\n curlyBrace = null;\n }\n\n result.push(token);\n }\n });\n\n return result;\n}\n\nfunction convertToken(token, source, tl) {\n const { type } = token;\n const { label } = type;\n token.range = [token.start, token.end];\n\n if (label === tl.name) {\n if (token.value === \"static\") {\n token.type = \"Keyword\";\n } else {\n token.type = \"Identifier\";\n }\n } else if (\n label === tl.semi ||\n label === tl.comma ||\n label === tl.parenL ||\n label === tl.parenR ||\n label === tl.braceL ||\n label === tl.braceR ||\n label === tl.slash ||\n label === tl.dot ||\n label === tl.bracketL ||\n label === tl.bracketR ||\n label === tl.ellipsis ||\n label === tl.arrow ||\n label === tl.pipeline ||\n label === tl.star ||\n label === tl.incDec ||\n label === tl.colon ||\n label === tl.question ||\n label === tl.template ||\n label === tl.backQuote ||\n label === tl.dollarBraceL ||\n label === tl.at ||\n label === tl.logicalOR ||\n label === tl.logicalAND ||\n label === tl.nullishCoalescing ||\n label === tl.bitwiseOR ||\n label === tl.bitwiseXOR ||\n label === tl.bitwiseAND ||\n label === tl.equality ||\n label === tl.relational ||\n label === tl.bitShift ||\n label === tl.plusMin ||\n label === tl.modulo ||\n label === tl.exponent ||\n label === tl.bang ||\n label === tl.tilde ||\n label === tl.doubleColon ||\n label === tl.hash ||\n label === tl.questionDot ||\n label === tl.braceHashL ||\n label === tl.braceBarL ||\n label === tl.braceBarR ||\n label === tl.bracketHashL ||\n label === tl.bracketBarL ||\n label === tl.bracketBarR ||\n label === tl.doubleCaret ||\n label === tl.doubleAt ||\n type.isAssign\n ) {\n token.type = \"Punctuator\";\n token.value ??= label;\n } else if (label === tl.jsxTagStart) {\n token.type = \"Punctuator\";\n token.value = \"<\";\n } else if (label === tl.jsxTagEnd) {\n token.type = \"Punctuator\";\n token.value = \">\";\n } else if (label === tl.jsxName) {\n token.type = \"JSXIdentifier\";\n } else if (label === tl.jsxText) {\n token.type = \"JSXText\";\n } else if (type.keyword === \"null\") {\n token.type = \"Null\";\n } else if (type.keyword === \"false\" || type.keyword === \"true\") {\n token.type = \"Boolean\";\n } else if (type.keyword) {\n token.type = \"Keyword\";\n } else if (label === tl.num) {\n token.type = \"Numeric\";\n token.value = source.slice(token.start, token.end);\n } else if (label === tl.string) {\n token.type = \"String\";\n token.value = source.slice(token.start, token.end);\n } else if (label === tl.regexp) {\n token.type = \"RegularExpression\";\n const value = token.value;\n token.regex = {\n pattern: value.pattern,\n flags: value.flags,\n };\n token.value = `/${value.pattern}/${value.flags}`;\n } else if (label === tl.bigint) {\n token.type = \"Numeric\";\n token.value = `${token.value}n`;\n } else if (label === tl.privateName) {\n token.type = \"PrivateIdentifier\";\n } else if (label === tl.templateNonTail || label === tl.templateTail) {\n token.type = \"Template\";\n }\n\n if (typeof token.type !== \"string\") {\n // Acorn does not have rightAssociative\n delete token.type.rightAssociative;\n }\n}\n\nmodule.exports = function convertTokens(tokens, code, tl) {\n const result = [];\n const templateTypeMergedTokens = process.env.BABEL_8_BREAKING\n ? tokens\n : convertTemplateType(tokens, tl);\n // The last token is always tt.eof and should be skipped\n for (let i = 0, { length } = templateTypeMergedTokens; i < length - 1; i++) {\n const token = templateTypeMergedTokens[i];\n const tokenType = token.type;\n if (tokenType === \"CommentLine\" || tokenType === \"CommentBlock\") {\n continue;\n }\n\n if (!process.env.BABEL_8_BREAKING) {\n // Babel 8 already produces a single token\n\n if (\n ESLINT_VERSION >= 8 &&\n i + 1 < length &&\n tokenType.label === tl.hash\n ) {\n const nextToken = templateTypeMergedTokens[i + 1];\n\n // We must disambiguate private identifier from the hack pipes topic token\n if (nextToken.type.label === tl.name && token.end === nextToken.start) {\n i++;\n\n nextToken.type = \"PrivateIdentifier\";\n nextToken.start -= 1;\n nextToken.loc.start.column -= 1;\n nextToken.range = [nextToken.start, nextToken.end];\n\n result.push(nextToken);\n continue;\n }\n }\n }\n\n convertToken(token, code, tl);\n result.push(token);\n }\n\n return result;\n};\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/eslint-parser/lib/experimental-worker.cjs.map b/node_modules/@babel/eslint-parser/lib/experimental-worker.cjs.map index 85542697e..25514631f 100644 --- a/node_modules/@babel/eslint-parser/lib/experimental-worker.cjs.map +++ b/node_modules/@babel/eslint-parser/lib/experimental-worker.cjs.map @@ -1 +1 @@ -{"version":3,"names":["major","minor","process","versions","node","split","map","Number","Error","normalizeESLintConfig","require","analyzeScope","baseParse","WorkerClient","client","exports","parseForESLint","code","options","normalizedOptions","ast","scopeManager","visitorKeys","getVisitorKeys"],"sources":["../src/experimental-worker.cjs"],"sourcesContent":["const [major, minor] = process.versions.node.split(\".\").map(Number);\n\nif (major < 12 || (major === 12 && minor < 3)) {\n throw new Error(\n \"@babel/eslint-parser/experimental-worker requires Node.js >= 12.3.0\",\n );\n}\n\nconst { normalizeESLintConfig } = require(\"./configuration.cjs\");\nconst analyzeScope = require(\"./analyze-scope.cjs\");\nconst baseParse = require(\"./parse.cjs\");\n\nconst { WorkerClient } = require(\"./client.cjs\");\nconst client = new WorkerClient();\n\nexports.parseForESLint = function (code, options = {}) {\n const normalizedOptions = normalizeESLintConfig(options);\n const ast = baseParse(code, normalizedOptions, client);\n const scopeManager = analyzeScope(ast, normalizedOptions, client);\n\n return { ast, scopeManager, visitorKeys: client.getVisitorKeys() };\n};\n"],"mappings":"AAAA,MAAM,CAACA,KAAK,EAAEC,KAAK,CAAC,GAAGC,OAAO,CAACC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,CAAC;AAEnE,IAAIP,KAAK,GAAG,EAAE,IAAKA,KAAK,KAAK,EAAE,IAAIC,KAAK,GAAG,CAAE,EAAE;EAC7C,MAAM,IAAIO,KAAK,CACb,qEAAqE,CACtE;AACH;AAEA,MAAM;EAAEC;AAAsB,CAAC,GAAGC,OAAO,CAAC,qBAAqB,CAAC;AAChE,MAAMC,YAAY,GAAGD,OAAO,CAAC,qBAAqB,CAAC;AACnD,MAAME,SAAS,GAAGF,OAAO,CAAC,aAAa,CAAC;AAExC,MAAM;EAAEG;AAAa,CAAC,GAAGH,OAAO,CAAC,cAAc,CAAC;AAChD,MAAMI,MAAM,GAAG,IAAID,YAAY,EAAE;AAEjCE,OAAO,CAACC,cAAc,GAAG,UAAUC,IAAI,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAE;EACrD,MAAMC,iBAAiB,GAAGV,qBAAqB,CAACS,OAAO,CAAC;EACxD,MAAME,GAAG,GAAGR,SAAS,CAACK,IAAI,EAAEE,iBAAiB,EAAEL,MAAM,CAAC;EACtD,MAAMO,YAAY,GAAGV,YAAY,CAACS,GAAG,EAAED,iBAAiB,EAAEL,MAAM,CAAC;EAEjE,OAAO;IAAEM,GAAG;IAAEC,YAAY;IAAEC,WAAW,EAAER,MAAM,CAACS,cAAc;EAAG,CAAC;AACpE,CAAC"} \ No newline at end of file +{"version":3,"names":["major","minor","process","versions","node","split","map","Number","Error","normalizeESLintConfig","require","analyzeScope","baseParse","WorkerClient","client","exports","parseForESLint","code","options","normalizedOptions","ast","scopeManager","visitorKeys","getVisitorKeys"],"sources":["../src/experimental-worker.cjs"],"sourcesContent":["const [major, minor] = process.versions.node.split(\".\").map(Number);\n\nif (major < 12 || (major === 12 && minor < 3)) {\n throw new Error(\n \"@babel/eslint-parser/experimental-worker requires Node.js >= 12.3.0\",\n );\n}\n\nconst { normalizeESLintConfig } = require(\"./configuration.cjs\");\nconst analyzeScope = require(\"./analyze-scope.cjs\");\nconst baseParse = require(\"./parse.cjs\");\n\nconst { WorkerClient } = require(\"./client.cjs\");\nconst client = new WorkerClient();\n\nexports.parseForESLint = function (code, options = {}) {\n const normalizedOptions = normalizeESLintConfig(options);\n const ast = baseParse(code, normalizedOptions, client);\n const scopeManager = analyzeScope(ast, normalizedOptions, client);\n\n return { ast, scopeManager, visitorKeys: client.getVisitorKeys() };\n};\n"],"mappings":"AAAA,MAAM,CAACA,KAAK,EAAEC,KAAK,CAAC,GAAGC,OAAO,CAACC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,CAAC;AAEnE,IAAIP,KAAK,GAAG,EAAE,IAAKA,KAAK,KAAK,EAAE,IAAIC,KAAK,GAAG,CAAE,EAAE;EAC7C,MAAM,IAAIO,KAAK,CACb,qEACF,CAAC;AACH;AAEA,MAAM;EAAEC;AAAsB,CAAC,GAAGC,OAAO,CAAC,qBAAqB,CAAC;AAChE,MAAMC,YAAY,GAAGD,OAAO,CAAC,qBAAqB,CAAC;AACnD,MAAME,SAAS,GAAGF,OAAO,CAAC,aAAa,CAAC;AAExC,MAAM;EAAEG;AAAa,CAAC,GAAGH,OAAO,CAAC,cAAc,CAAC;AAChD,MAAMI,MAAM,GAAG,IAAID,YAAY,CAAC,CAAC;AAEjCE,OAAO,CAACC,cAAc,GAAG,UAAUC,IAAI,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAE;EACrD,MAAMC,iBAAiB,GAAGV,qBAAqB,CAACS,OAAO,CAAC;EACxD,MAAME,GAAG,GAAGR,SAAS,CAACK,IAAI,EAAEE,iBAAiB,EAAEL,MAAM,CAAC;EACtD,MAAMO,YAAY,GAAGV,YAAY,CAACS,GAAG,EAAED,iBAAiB,EAAEL,MAAM,CAAC;EAEjE,OAAO;IAAEM,GAAG;IAAEC,YAAY;IAAEC,WAAW,EAAER,MAAM,CAACS,cAAc,CAAC;EAAE,CAAC;AACpE,CAAC"} \ No newline at end of file diff --git a/node_modules/@babel/eslint-parser/lib/index.cjs b/node_modules/@babel/eslint-parser/lib/index.cjs index 926ecc132..251ba14d6 100644 --- a/node_modules/@babel/eslint-parser/lib/index.cjs +++ b/node_modules/@babel/eslint-parser/lib/index.cjs @@ -10,7 +10,7 @@ const { const client = new LocalClient(); exports.meta = { name: "@babel/eslint-parser", - version: "7.21.3" + version: "7.22.5" }; exports.parse = function (code, options = {}) { return baseParse(code, normalizeESLintConfig(options), client); diff --git a/node_modules/@babel/eslint-parser/lib/index.cjs.map b/node_modules/@babel/eslint-parser/lib/index.cjs.map index c40a09ac6..809758aaa 100644 --- a/node_modules/@babel/eslint-parser/lib/index.cjs.map +++ b/node_modules/@babel/eslint-parser/lib/index.cjs.map @@ -1 +1 @@ -{"version":3,"names":["normalizeESLintConfig","require","analyzeScope","baseParse","LocalClient","WorkerClient","client","exports","meta","name","version","parse","code","options","parseForESLint","normalizedOptions","ast","scopeManager","visitorKeys","getVisitorKeys"],"sources":["../src/index.cjs"],"sourcesContent":["const { normalizeESLintConfig } = require(\"./configuration.cjs\");\nconst analyzeScope = require(\"./analyze-scope.cjs\");\nconst baseParse = require(\"./parse.cjs\");\n\nconst { LocalClient, WorkerClient } = require(\"./client.cjs\");\nconst client = new (USE_ESM ? WorkerClient : LocalClient)();\n\nexports.meta = {\n name: PACKAGE_JSON.name,\n version: PACKAGE_JSON.version,\n};\n\nexports.parse = function (code, options = {}) {\n return baseParse(code, normalizeESLintConfig(options), client);\n};\n\nexports.parseForESLint = function (code, options = {}) {\n const normalizedOptions = normalizeESLintConfig(options);\n const ast = baseParse(code, normalizedOptions, client);\n const scopeManager = analyzeScope(ast, normalizedOptions, client);\n\n return { ast, scopeManager, visitorKeys: client.getVisitorKeys() };\n};\n"],"mappings":"AAAA,MAAM;EAAEA;AAAsB,CAAC,GAAGC,OAAO,CAAC,qBAAqB,CAAC;AAChE,MAAMC,YAAY,GAAGD,OAAO,CAAC,qBAAqB,CAAC;AACnD,MAAME,SAAS,GAAGF,OAAO,CAAC,aAAa,CAAC;AAExC,MAAM;EAAEG,WAAW;EAAEC;AAAa,CAAC,GAAGJ,OAAO,CAAC,cAAc,CAAC;AAC7D,MAAMK,MAAM,GAAG,IAA8BF,WAAW,EAAG;AAE3DG,OAAO,CAACC,IAAI,GAAG;EACbC,IAAI,wBAAmB;EACvBC,OAAO;AACT,CAAC;AAEDH,OAAO,CAACI,KAAK,GAAG,UAAUC,IAAI,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAE;EAC5C,OAAOV,SAAS,CAACS,IAAI,EAAEZ,qBAAqB,CAACa,OAAO,CAAC,EAAEP,MAAM,CAAC;AAChE,CAAC;AAEDC,OAAO,CAACO,cAAc,GAAG,UAAUF,IAAI,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAE;EACrD,MAAME,iBAAiB,GAAGf,qBAAqB,CAACa,OAAO,CAAC;EACxD,MAAMG,GAAG,GAAGb,SAAS,CAACS,IAAI,EAAEG,iBAAiB,EAAET,MAAM,CAAC;EACtD,MAAMW,YAAY,GAAGf,YAAY,CAACc,GAAG,EAAED,iBAAiB,EAAET,MAAM,CAAC;EAEjE,OAAO;IAAEU,GAAG;IAAEC,YAAY;IAAEC,WAAW,EAAEZ,MAAM,CAACa,cAAc;EAAG,CAAC;AACpE,CAAC"} \ No newline at end of file +{"version":3,"names":["normalizeESLintConfig","require","analyzeScope","baseParse","LocalClient","WorkerClient","client","exports","meta","name","version","parse","code","options","parseForESLint","normalizedOptions","ast","scopeManager","visitorKeys","getVisitorKeys"],"sources":["../src/index.cjs"],"sourcesContent":["const { normalizeESLintConfig } = require(\"./configuration.cjs\");\nconst analyzeScope = require(\"./analyze-scope.cjs\");\nconst baseParse = require(\"./parse.cjs\");\n\nconst { LocalClient, WorkerClient } = require(\"./client.cjs\");\nconst client = new (USE_ESM ? WorkerClient : LocalClient)();\n\nexports.meta = {\n name: PACKAGE_JSON.name,\n version: PACKAGE_JSON.version,\n};\n\nexports.parse = function (code, options = {}) {\n return baseParse(code, normalizeESLintConfig(options), client);\n};\n\nexports.parseForESLint = function (code, options = {}) {\n const normalizedOptions = normalizeESLintConfig(options);\n const ast = baseParse(code, normalizedOptions, client);\n const scopeManager = analyzeScope(ast, normalizedOptions, client);\n\n return { ast, scopeManager, visitorKeys: client.getVisitorKeys() };\n};\n"],"mappings":"AAAA,MAAM;EAAEA;AAAsB,CAAC,GAAGC,OAAO,CAAC,qBAAqB,CAAC;AAChE,MAAMC,YAAY,GAAGD,OAAO,CAAC,qBAAqB,CAAC;AACnD,MAAME,SAAS,GAAGF,OAAO,CAAC,aAAa,CAAC;AAExC,MAAM;EAAEG,WAAW;EAAEC;AAAa,CAAC,GAAGJ,OAAO,CAAC,cAAc,CAAC;AAC7D,MAAMK,MAAM,GAAG,IAA8BF,WAAW,CAAE,CAAC;AAE3DG,OAAO,CAACC,IAAI,GAAG;EACbC,IAAI,wBAAmB;EACvBC,OAAO;AACT,CAAC;AAEDH,OAAO,CAACI,KAAK,GAAG,UAAUC,IAAI,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAE;EAC5C,OAAOV,SAAS,CAACS,IAAI,EAAEZ,qBAAqB,CAACa,OAAO,CAAC,EAAEP,MAAM,CAAC;AAChE,CAAC;AAEDC,OAAO,CAACO,cAAc,GAAG,UAAUF,IAAI,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAE;EACrD,MAAME,iBAAiB,GAAGf,qBAAqB,CAACa,OAAO,CAAC;EACxD,MAAMG,GAAG,GAAGb,SAAS,CAACS,IAAI,EAAEG,iBAAiB,EAAET,MAAM,CAAC;EACtD,MAAMW,YAAY,GAAGf,YAAY,CAACc,GAAG,EAAED,iBAAiB,EAAET,MAAM,CAAC;EAEjE,OAAO;IAAEU,GAAG;IAAEC,YAAY;IAAEC,WAAW,EAAEZ,MAAM,CAACa,cAAc,CAAC;EAAE,CAAC;AACpE,CAAC"} \ No newline at end of file diff --git a/node_modules/@babel/eslint-parser/lib/parse.cjs b/node_modules/@babel/eslint-parser/lib/parse.cjs index a7cae8690..01c5c3818 100644 --- a/node_modules/@babel/eslint-parser/lib/parse.cjs +++ b/node_modules/@babel/eslint-parser/lib/parse.cjs @@ -15,12 +15,13 @@ const babelParser = require((((v, w) => (v = v.split("."), w = w.split("."), +v[ })); let isRunningMinSupportedCoreVersion = null; module.exports = function parse(code, options, client) { - const minSupportedCoreVersion = ">=7.2.0"; + let minSupportedCoreVersion = ">=7.2.0"; + ; if (typeof isRunningMinSupportedCoreVersion !== "boolean") { isRunningMinSupportedCoreVersion = semver.satisfies(client.getVersion(), minSupportedCoreVersion); } if (!isRunningMinSupportedCoreVersion) { - throw new Error(`@babel/eslint-parser@${"7.21.3"} does not support @babel/core@${client.getVersion()}. Please upgrade to @babel/core@${minSupportedCoreVersion}.`); + throw new Error(`@babel/eslint-parser@${"7.22.5"} does not support @babel/core@${client.getVersion()}. Please upgrade to @babel/core@${minSupportedCoreVersion}.`); } const { ast, diff --git a/node_modules/@babel/eslint-parser/lib/parse.cjs.map b/node_modules/@babel/eslint-parser/lib/parse.cjs.map index 92a170df0..aecb6b88e 100644 --- a/node_modules/@babel/eslint-parser/lib/parse.cjs.map +++ b/node_modules/@babel/eslint-parser/lib/parse.cjs.map @@ -1 +1 @@ -{"version":3,"names":["semver","require","convert","babelParser","v","w","split","process","versions","node","resolve","r","paths","b","M","f","_findPath","_nodeModulePaths","concat","Error","code","isRunningMinSupportedCoreVersion","module","exports","parse","options","client","minSupportedCoreVersion","satisfies","getVersion","ast","parserOptions","maybeParse","getTokLabels","getVisitorKeys","err","error"],"sources":["../src/parse.cjs"],"sourcesContent":["\"use strict\";\n\nconst semver = require(\"semver\");\nconst convert = require(\"./convert/index.cjs\");\n\nconst babelParser = require(require.resolve(\"@babel/parser\", {\n paths: [require.resolve(\"@babel/core/package.json\")],\n}));\n\nlet isRunningMinSupportedCoreVersion = null;\n\nmodule.exports = function parse(code, options, client) {\n // Ensure we're using a version of `@babel/core` that includes `parse()` and `tokTypes`.\n const minSupportedCoreVersion = \">=7.2.0\";\n\n if (typeof isRunningMinSupportedCoreVersion !== \"boolean\") {\n isRunningMinSupportedCoreVersion = semver.satisfies(\n client.getVersion(),\n minSupportedCoreVersion,\n );\n }\n\n if (!isRunningMinSupportedCoreVersion) {\n throw new Error(\n `@babel/eslint-parser@${\n PACKAGE_JSON.version\n } does not support @babel/core@${client.getVersion()}. Please upgrade to @babel/core@${minSupportedCoreVersion}.`,\n );\n }\n\n const { ast, parserOptions } = client.maybeParse(code, options);\n\n if (ast) return ast;\n\n try {\n return convert.ast(\n babelParser.parse(code, parserOptions),\n code,\n client.getTokLabels(),\n client.getVisitorKeys(),\n );\n } catch (err) {\n throw convert.error(err);\n }\n};\n"],"mappings":"AAAA,YAAY;;AAEZ,MAAMA,MAAM,GAAGC,OAAO,CAAC,QAAQ,CAAC;AAChC,MAAMC,OAAO,GAAGD,OAAO,CAAC,qBAAqB,CAAC;AAE9C,MAAME,WAAW,GAAGF,OAAO,CAAC,GAAAG,CAAA,EAAAC,CAAA,MAAAD,CAAA,GAAAA,CAAA,CAAAE,KAAA,OAAAD,CAAA,GAAAA,CAAA,CAAAC,KAAA,QAAAF,CAAA,OAAAC,CAAA,OAAAD,CAAA,OAAAC,CAAA,QAAAD,CAAA,QAAAC,CAAA,MAAAE,OAAA,CAAAC,QAAA,CAAAC,IAAA,WAAAR,OAAA,CAAAS,OAAA,IAAAC,CAAA;EAAAC,KAAA,GAAAC,CAAA;AAAA,GAAAC,CAAA,GAAAb,OAAA;EAAA,IAAAc,CAAA,GAAAD,CAAA,CAAAE,SAAA,CAAAL,CAAA,EAAAG,CAAA,CAAAG,gBAAA,CAAAJ,CAAA,EAAAK,MAAA,CAAAL,CAAA;EAAA,IAAAE,CAAA,SAAAA,CAAA;EAAAA,CAAA,OAAAI,KAAA,2BAAAR,CAAA;EAAAI,CAAA,CAAAK,IAAA;EAAA,MAAAL,CAAA;AAAA,GAAgB,eAAe,EAAE;EAC3DH,KAAK,EAAE,CAACX,OAAO,CAACS,OAAO,CAAC,0BAA0B,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAIW,gCAAgC,GAAG,IAAI;AAE3CC,MAAM,CAACC,OAAO,GAAG,SAASC,KAAKA,CAACJ,IAAI,EAAEK,OAAO,EAAEC,MAAM,EAAE;EAErD,MAAMC,uBAAuB,GAAG,SAAS;EAEzC,IAAI,OAAON,gCAAgC,KAAK,SAAS,EAAE;IACzDA,gCAAgC,GAAGrB,MAAM,CAAC4B,SAAS,CACjDF,MAAM,CAACG,UAAU,EAAE,EACnBF,uBAAuB,CACxB;EACH;EAEA,IAAI,CAACN,gCAAgC,EAAE;IACrC,MAAM,IAAIF,KAAK,CACZ,wBAAqB,QAErB,iCAAgCO,MAAM,CAACG,UAAU,EAAG,mCAAkCF,uBAAwB,GAAE,CAClH;EACH;EAEA,MAAM;IAAEG,GAAG;IAAEC;EAAc,CAAC,GAAGL,MAAM,CAACM,UAAU,CAACZ,IAAI,EAAEK,OAAO,CAAC;EAE/D,IAAIK,GAAG,EAAE,OAAOA,GAAG;EAEnB,IAAI;IACF,OAAO5B,OAAO,CAAC4B,GAAG,CAChB3B,WAAW,CAACqB,KAAK,CAACJ,IAAI,EAAEW,aAAa,CAAC,EACtCX,IAAI,EACJM,MAAM,CAACO,YAAY,EAAE,EACrBP,MAAM,CAACQ,cAAc,EAAE,CACxB;EACH,CAAC,CAAC,OAAOC,GAAG,EAAE;IACZ,MAAMjC,OAAO,CAACkC,KAAK,CAACD,GAAG,CAAC;EAC1B;AACF,CAAC"} \ No newline at end of file +{"version":3,"names":["semver","require","convert","babelParser","v","w","split","process","versions","node","resolve","r","paths","b","M","f","_findPath","_nodeModulePaths","concat","Error","code","isRunningMinSupportedCoreVersion","module","exports","parse","options","client","minSupportedCoreVersion","satisfies","getVersion","ast","parserOptions","maybeParse","getTokLabels","getVisitorKeys","err","error"],"sources":["../src/parse.cjs"],"sourcesContent":["\"use strict\";\n\nconst semver = require(\"semver\");\nconst convert = require(\"./convert/index.cjs\");\n\nconst babelParser = require(require.resolve(\"@babel/parser\", {\n paths: [require.resolve(\"@babel/core/package.json\")],\n}));\n\nlet isRunningMinSupportedCoreVersion = null;\n\nmodule.exports = function parse(code, options, client) {\n // Ensure we're using a version of `@babel/core` that includes `parse()` and `tokTypes`.\n let minSupportedCoreVersion = \">=7.2.0\";\n // TODO(Babel 8): Update all the version checks\n if (process.env.BABEL_8_BREAKING) {\n minSupportedCoreVersion += \" || >=8.0.0-0\";\n }\n\n if (typeof isRunningMinSupportedCoreVersion !== \"boolean\") {\n isRunningMinSupportedCoreVersion = semver.satisfies(\n client.getVersion(),\n minSupportedCoreVersion,\n );\n }\n\n if (!isRunningMinSupportedCoreVersion) {\n throw new Error(\n `@babel/eslint-parser@${\n PACKAGE_JSON.version\n } does not support @babel/core@${client.getVersion()}. Please upgrade to @babel/core@${minSupportedCoreVersion}.`,\n );\n }\n\n const { ast, parserOptions } = client.maybeParse(code, options);\n\n if (ast) return ast;\n\n try {\n return convert.ast(\n babelParser.parse(code, parserOptions),\n code,\n client.getTokLabels(),\n client.getVisitorKeys(),\n );\n } catch (err) {\n throw convert.error(err);\n }\n};\n"],"mappings":"AAAA,YAAY;;AAEZ,MAAMA,MAAM,GAAGC,OAAO,CAAC,QAAQ,CAAC;AAChC,MAAMC,OAAO,GAAGD,OAAO,CAAC,qBAAqB,CAAC;AAE9C,MAAME,WAAW,GAAGF,OAAO,CAAC,GAAAG,CAAA,EAAAC,CAAA,MAAAD,CAAA,GAAAA,CAAA,CAAAE,KAAA,OAAAD,CAAA,GAAAA,CAAA,CAAAC,KAAA,QAAAF,CAAA,OAAAC,CAAA,OAAAD,CAAA,OAAAC,CAAA,QAAAD,CAAA,QAAAC,CAAA,MAAAE,OAAA,CAAAC,QAAA,CAAAC,IAAA,WAAAR,OAAA,CAAAS,OAAA,IAAAC,CAAA;EAAAC,KAAA,GAAAC,CAAA;AAAA,GAAAC,CAAA,GAAAb,OAAA;EAAA,IAAAc,CAAA,GAAAD,CAAA,CAAAE,SAAA,CAAAL,CAAA,EAAAG,CAAA,CAAAG,gBAAA,CAAAJ,CAAA,EAAAK,MAAA,CAAAL,CAAA;EAAA,IAAAE,CAAA,SAAAA,CAAA;EAAAA,CAAA,OAAAI,KAAA,2BAAAR,CAAA;EAAAI,CAAA,CAAAK,IAAA;EAAA,MAAAL,CAAA;AAAA,GAAgB,eAAe,EAAE;EAC3DH,KAAK,EAAE,CAACX,OAAO,CAACS,OAAO,CAAC,0BAA0B,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAIW,gCAAgC,GAAG,IAAI;AAE3CC,MAAM,CAACC,OAAO,GAAG,SAASC,KAAKA,CAACJ,IAAI,EAAEK,OAAO,EAAEC,MAAM,EAAE;EAErD,IAAIC,uBAAuB,GAAG,SAAS;EAAC;EAMxC,IAAI,OAAON,gCAAgC,KAAK,SAAS,EAAE;IACzDA,gCAAgC,GAAGrB,MAAM,CAAC4B,SAAS,CACjDF,MAAM,CAACG,UAAU,CAAC,CAAC,EACnBF,uBACF,CAAC;EACH;EAEA,IAAI,CAACN,gCAAgC,EAAE;IACrC,MAAM,IAAIF,KAAK,CACZ,wBAAqB,QAErB,iCAAgCO,MAAM,CAACG,UAAU,CAAC,CAAE,mCAAkCF,uBAAwB,GACjH,CAAC;EACH;EAEA,MAAM;IAAEG,GAAG;IAAEC;EAAc,CAAC,GAAGL,MAAM,CAACM,UAAU,CAACZ,IAAI,EAAEK,OAAO,CAAC;EAE/D,IAAIK,GAAG,EAAE,OAAOA,GAAG;EAEnB,IAAI;IACF,OAAO5B,OAAO,CAAC4B,GAAG,CAChB3B,WAAW,CAACqB,KAAK,CAACJ,IAAI,EAAEW,aAAa,CAAC,EACtCX,IAAI,EACJM,MAAM,CAACO,YAAY,CAAC,CAAC,EACrBP,MAAM,CAACQ,cAAc,CAAC,CACxB,CAAC;EACH,CAAC,CAAC,OAAOC,GAAG,EAAE;IACZ,MAAMjC,OAAO,CAACkC,KAAK,CAACD,GAAG,CAAC;EAC1B;AACF,CAAC"} \ No newline at end of file diff --git a/node_modules/@babel/eslint-parser/lib/worker/ast-info.cjs.map b/node_modules/@babel/eslint-parser/lib/worker/ast-info.cjs.map index ae65be5ca..5d1143b72 100644 --- a/node_modules/@babel/eslint-parser/lib/worker/ast-info.cjs.map +++ b/node_modules/@babel/eslint-parser/lib/worker/ast-info.cjs.map @@ -1 +1 @@ -{"version":3,"names":["ESLINT_VISITOR_KEYS","require","KEYS","babel","visitorKeys","exports","getVisitorKeys","newTypes","ChainExpression","ImportExpression","Literal","MethodDefinition","concat","Property","PropertyDefinition","conflictTypes","ClassPrivateMethod","ExportAllDeclaration","Object","assign","types","VISITOR_KEYS","tokLabels","getTokLabels","p","reduce","o","k","v","entries","tokTypes","map","key","tok","label"],"sources":["../../src/worker/ast-info.cjs"],"sourcesContent":["const ESLINT_VISITOR_KEYS = require(\"eslint-visitor-keys\").KEYS;\nconst babel = require(\"./babel-core.cjs\");\n\nlet visitorKeys;\nexports.getVisitorKeys = function getVisitorKeys() {\n if (!visitorKeys) {\n // AST Types that are not presented in Babel AST\n const newTypes = {\n ChainExpression: ESLINT_VISITOR_KEYS.ChainExpression,\n ImportExpression: ESLINT_VISITOR_KEYS.ImportExpression,\n Literal: ESLINT_VISITOR_KEYS.Literal,\n MethodDefinition: [\"decorators\"].concat(\n ESLINT_VISITOR_KEYS.MethodDefinition,\n ),\n Property: [\"decorators\"].concat(ESLINT_VISITOR_KEYS.Property),\n PropertyDefinition: [\"decorators\", \"typeAnnotation\"].concat(\n ESLINT_VISITOR_KEYS.PropertyDefinition,\n ),\n };\n\n // AST Types that shares `\"type\"` property with Babel but have different shape\n const conflictTypes = {\n // todo: remove this when we drop Babel 7 support\n ClassPrivateMethod: [\"decorators\"].concat(\n ESLINT_VISITOR_KEYS.MethodDefinition,\n ),\n ExportAllDeclaration: ESLINT_VISITOR_KEYS.ExportAllDeclaration,\n };\n\n visitorKeys = {\n ...newTypes,\n ...babel.types.VISITOR_KEYS,\n ...conflictTypes,\n };\n }\n return visitorKeys;\n};\n\nlet tokLabels;\nexports.getTokLabels = function getTokLabels() {\n return (tokLabels ||= (\n process.env.BABEL_8_BREAKING\n ? Object.fromEntries\n : p => p.reduce((o, [k, v]) => ({ ...o, [k]: v }), {})\n )(Object.entries(babel.tokTypes).map(([key, tok]) => [key, tok.label])));\n};\n"],"mappings":"AAAA,MAAMA,mBAAmB,GAAGC,OAAO,CAAC,qBAAqB,CAAC,CAACC,IAAI;AAC/D,MAAMC,KAAK,GAAGF,OAAO,CAAC,kBAAkB,CAAC;AAEzC,IAAIG,WAAW;AACfC,OAAO,CAACC,cAAc,GAAG,SAASA,cAAcA,CAAA,EAAG;EACjD,IAAI,CAACF,WAAW,EAAE;IAEhB,MAAMG,QAAQ,GAAG;MACfC,eAAe,EAAER,mBAAmB,CAACQ,eAAe;MACpDC,gBAAgB,EAAET,mBAAmB,CAACS,gBAAgB;MACtDC,OAAO,EAAEV,mBAAmB,CAACU,OAAO;MACpCC,gBAAgB,EAAE,CAAC,YAAY,CAAC,CAACC,MAAM,CACrCZ,mBAAmB,CAACW,gBAAgB,CACrC;MACDE,QAAQ,EAAE,CAAC,YAAY,CAAC,CAACD,MAAM,CAACZ,mBAAmB,CAACa,QAAQ,CAAC;MAC7DC,kBAAkB,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAACF,MAAM,CACzDZ,mBAAmB,CAACc,kBAAkB;IAE1C,CAAC;IAGD,MAAMC,aAAa,GAAG;MAEpBC,kBAAkB,EAAE,CAAC,YAAY,CAAC,CAACJ,MAAM,CACvCZ,mBAAmB,CAACW,gBAAgB,CACrC;MACDM,oBAAoB,EAAEjB,mBAAmB,CAACiB;IAC5C,CAAC;IAEDb,WAAW,GAAAc,MAAA,CAAAC,MAAA,KACNZ,QAAQ,EACRJ,KAAK,CAACiB,KAAK,CAACC,YAAY,EACxBN,aAAa,CACjB;EACH;EACA,OAAOX,WAAW;AACpB,CAAC;AAED,IAAIkB,SAAS;AACbjB,OAAO,CAACkB,YAAY,GAAG,SAASA,YAAYA,CAAA,EAAG;EAC7C,OAAQD,SAAS,KAATA,SAAS,GAAK,CAGhBE,CAAC,IAAIA,CAAC,CAACC,MAAM,CAAC,CAACC,CAAC,EAAE,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAAV,MAAA,CAAAC,MAAA,KAAWO,CAAC;IAAE,CAACC,CAAC,GAAGC;EAAC,EAAG,EAAE,CAAC,CAAC,CAAC,EACxDV,MAAM,CAACW,OAAO,CAAC1B,KAAK,CAAC2B,QAAQ,CAAC,CAACC,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,GAAG,CAAC,KAAK,CAACD,GAAG,EAAEC,GAAG,CAACC,KAAK,CAAC,CAAC,CAAC;AACzE,CAAC"} \ No newline at end of file +{"version":3,"names":["ESLINT_VISITOR_KEYS","require","KEYS","babel","visitorKeys","exports","getVisitorKeys","newTypes","ChainExpression","ImportExpression","Literal","MethodDefinition","concat","Property","PropertyDefinition","conflictTypes","ClassPrivateMethod","ExportAllDeclaration","Object","assign","types","VISITOR_KEYS","tokLabels","getTokLabels","p","reduce","o","k","v","entries","tokTypes","map","key","tok","label"],"sources":["../../src/worker/ast-info.cjs"],"sourcesContent":["const ESLINT_VISITOR_KEYS = require(\"eslint-visitor-keys\").KEYS;\nconst babel = require(\"./babel-core.cjs\");\n\nlet visitorKeys;\nexports.getVisitorKeys = function getVisitorKeys() {\n if (!visitorKeys) {\n // AST Types that are not presented in Babel AST\n const newTypes = {\n ChainExpression: ESLINT_VISITOR_KEYS.ChainExpression,\n ImportExpression: ESLINT_VISITOR_KEYS.ImportExpression,\n Literal: ESLINT_VISITOR_KEYS.Literal,\n MethodDefinition: [\"decorators\"].concat(\n ESLINT_VISITOR_KEYS.MethodDefinition,\n ),\n Property: [\"decorators\"].concat(ESLINT_VISITOR_KEYS.Property),\n PropertyDefinition: [\"decorators\", \"typeAnnotation\"].concat(\n ESLINT_VISITOR_KEYS.PropertyDefinition,\n ),\n };\n\n // AST Types that shares `\"type\"` property with Babel but have different shape\n const conflictTypes = {\n // todo: remove this when we drop Babel 7 support\n ClassPrivateMethod: [\"decorators\"].concat(\n ESLINT_VISITOR_KEYS.MethodDefinition,\n ),\n ExportAllDeclaration: ESLINT_VISITOR_KEYS.ExportAllDeclaration,\n };\n\n visitorKeys = {\n ...newTypes,\n ...babel.types.VISITOR_KEYS,\n ...conflictTypes,\n };\n }\n return visitorKeys;\n};\n\nlet tokLabels;\nexports.getTokLabels = function getTokLabels() {\n return (tokLabels ||= (\n process.env.BABEL_8_BREAKING\n ? Object.fromEntries\n : p => p.reduce((o, [k, v]) => ({ ...o, [k]: v }), {})\n )(Object.entries(babel.tokTypes).map(([key, tok]) => [key, tok.label])));\n};\n"],"mappings":"AAAA,MAAMA,mBAAmB,GAAGC,OAAO,CAAC,qBAAqB,CAAC,CAACC,IAAI;AAC/D,MAAMC,KAAK,GAAGF,OAAO,CAAC,kBAAkB,CAAC;AAEzC,IAAIG,WAAW;AACfC,OAAO,CAACC,cAAc,GAAG,SAASA,cAAcA,CAAA,EAAG;EACjD,IAAI,CAACF,WAAW,EAAE;IAEhB,MAAMG,QAAQ,GAAG;MACfC,eAAe,EAAER,mBAAmB,CAACQ,eAAe;MACpDC,gBAAgB,EAAET,mBAAmB,CAACS,gBAAgB;MACtDC,OAAO,EAAEV,mBAAmB,CAACU,OAAO;MACpCC,gBAAgB,EAAE,CAAC,YAAY,CAAC,CAACC,MAAM,CACrCZ,mBAAmB,CAACW,gBACtB,CAAC;MACDE,QAAQ,EAAE,CAAC,YAAY,CAAC,CAACD,MAAM,CAACZ,mBAAmB,CAACa,QAAQ,CAAC;MAC7DC,kBAAkB,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAACF,MAAM,CACzDZ,mBAAmB,CAACc,kBACtB;IACF,CAAC;IAGD,MAAMC,aAAa,GAAG;MAEpBC,kBAAkB,EAAE,CAAC,YAAY,CAAC,CAACJ,MAAM,CACvCZ,mBAAmB,CAACW,gBACtB,CAAC;MACDM,oBAAoB,EAAEjB,mBAAmB,CAACiB;IAC5C,CAAC;IAEDb,WAAW,GAAAc,MAAA,CAAAC,MAAA,KACNZ,QAAQ,EACRJ,KAAK,CAACiB,KAAK,CAACC,YAAY,EACxBN,aAAa,CACjB;EACH;EACA,OAAOX,WAAW;AACpB,CAAC;AAED,IAAIkB,SAAS;AACbjB,OAAO,CAACkB,YAAY,GAAG,SAASA,YAAYA,CAAA,EAAG;EAC7C,OAAQD,SAAS,KAATA,SAAS,GAAK,CAGhBE,CAAC,IAAIA,CAAC,CAACC,MAAM,CAAC,CAACC,CAAC,EAAE,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAAV,MAAA,CAAAC,MAAA,KAAWO,CAAC;IAAE,CAACC,CAAC,GAAGC;EAAC,EAAG,EAAE,CAAC,CAAC,CAAC,EACxDV,MAAM,CAACW,OAAO,CAAC1B,KAAK,CAAC2B,QAAQ,CAAC,CAACC,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,GAAG,CAAC,KAAK,CAACD,GAAG,EAAEC,GAAG,CAACC,KAAK,CAAC,CAAC,CAAC;AACzE,CAAC"} \ No newline at end of file diff --git a/node_modules/@babel/eslint-parser/lib/worker/configuration.cjs.map b/node_modules/@babel/eslint-parser/lib/worker/configuration.cjs.map index ae74aa1a1..946cbf280 100644 --- a/node_modules/@babel/eslint-parser/lib/worker/configuration.cjs.map +++ b/node_modules/@babel/eslint-parser/lib/worker/configuration.cjs.map @@ -1 +1 @@ -{"version":3,"names":["babel","require","ESLINT_VERSION","getParserPlugins","babelOptions","_babelOptions$parserO","_babelOptions$parserO2","babelParserPlugins","parserOpts","plugins","estreeOptions","classFeatures","plugin","Array","isArray","Object","assign","normalizeParserOptions","options","_options$allowImportE","_options$ecmaFeatures","_options$ecmaFeatures2","sourceType","filename","filePath","allowImportExportEverywhere","allowSuperOutsideMethod","allowReturnOutsideFunction","ecmaFeatures","globalReturn","attachComment","ranges","tokens","caller","name","validateResolvedConfig","config","parseOptions","requireConfigFile","hasFilesystemConfig","error","includes","Error","getDefaultParserOptions","babelrc","configFile","browserslistConfigFile","ignore","only","exports","normalizeBabelParseConfig","_asyncToGenerator","loadPartialConfigAsync","normalizeBabelParseConfigSync","loadPartialConfigSync"],"sources":["../../src/worker/configuration.cjs"],"sourcesContent":["const babel = require(\"./babel-core.cjs\");\nconst ESLINT_VERSION = require(\"../utils/eslint-version.cjs\");\n\n/**\n * Merge user supplied estree plugin options to default estree plugin options\n *\n * @param {*} babelOptions\n * @returns {Array} Merged parser plugin descriptors\n */\nfunction getParserPlugins(babelOptions) {\n const babelParserPlugins = babelOptions.parserOpts?.plugins ?? [];\n const estreeOptions = { classFeatures: ESLINT_VERSION >= 8 };\n for (const plugin of babelParserPlugins) {\n if (Array.isArray(plugin) && plugin[0] === \"estree\") {\n Object.assign(estreeOptions, plugin[1]);\n break;\n }\n }\n // estree must be the first parser plugin to work with other parser plugins\n return [[\"estree\", estreeOptions], ...babelParserPlugins];\n}\n\nfunction normalizeParserOptions(options) {\n return {\n sourceType: options.sourceType,\n filename: options.filePath,\n ...options.babelOptions,\n parserOpts: {\n ...(process.env.BABEL_8_BREAKING\n ? {}\n : {\n allowImportExportEverywhere:\n options.allowImportExportEverywhere ?? false,\n allowSuperOutsideMethod: true,\n }),\n allowReturnOutsideFunction:\n options.ecmaFeatures?.globalReturn ??\n (process.env.BABEL_8_BREAKING ? false : true),\n ...options.babelOptions.parserOpts,\n plugins: getParserPlugins(options.babelOptions),\n // skip comment attaching for parsing performance\n attachComment: false,\n ranges: true,\n tokens: true,\n },\n caller: {\n name: \"@babel/eslint-parser\",\n ...options.babelOptions.caller,\n },\n };\n}\n\nfunction validateResolvedConfig(config, options, parseOptions) {\n if (config !== null) {\n if (options.requireConfigFile !== false) {\n if (!config.hasFilesystemConfig()) {\n let error = `No Babel config file detected for ${config.options.filename}. Either disable config file checking with requireConfigFile: false, or configure Babel so that it can find the config files.`;\n\n if (config.options.filename.includes(\"node_modules\")) {\n error += `\\nIf you have a .babelrc.js file or use package.json#babel, keep in mind that it's not used when parsing dependencies. If you want your config to be applied to your whole app, consider using babel.config.js or babel.config.json instead.`;\n }\n\n throw new Error(error);\n }\n }\n if (config.options) return config.options;\n }\n\n return getDefaultParserOptions(parseOptions);\n}\n\nfunction getDefaultParserOptions(options) {\n return {\n plugins: [],\n ...options,\n babelrc: false,\n configFile: false,\n browserslistConfigFile: false,\n ignore: null,\n only: null,\n };\n}\n\nexports.normalizeBabelParseConfig = async function (options) {\n const parseOptions = normalizeParserOptions(options);\n const config = await babel.loadPartialConfigAsync(parseOptions);\n return validateResolvedConfig(config, options, parseOptions);\n};\n\nexports.normalizeBabelParseConfigSync = function (options) {\n const parseOptions = normalizeParserOptions(options);\n const config = babel.loadPartialConfigSync(parseOptions);\n return validateResolvedConfig(config, options, parseOptions);\n};\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["babel","require","ESLINT_VERSION","getParserPlugins","babelOptions","_babelOptions$parserO","_babelOptions$parserO2","babelParserPlugins","parserOpts","plugins","estreeOptions","classFeatures","plugin","Array","isArray","Object","assign","normalizeParserOptions","options","_options$allowImportE","_options$ecmaFeatures","_options$ecmaFeatures2","sourceType","filename","filePath","allowImportExportEverywhere","allowSuperOutsideMethod","allowReturnOutsideFunction","ecmaFeatures","globalReturn","attachComment","ranges","tokens","caller","name","validateResolvedConfig","config","parseOptions","requireConfigFile","hasFilesystemConfig","error","includes","Error","getDefaultParserOptions","babelrc","configFile","browserslistConfigFile","ignore","only","exports","normalizeBabelParseConfig","_asyncToGenerator","loadPartialConfigAsync","normalizeBabelParseConfigSync","loadPartialConfigSync"],"sources":["../../src/worker/configuration.cjs"],"sourcesContent":["const babel = require(\"./babel-core.cjs\");\nconst ESLINT_VERSION = require(\"../utils/eslint-version.cjs\");\n\n/**\n * Merge user supplied estree plugin options to default estree plugin options\n *\n * @param {*} babelOptions\n * @returns {Array} Merged parser plugin descriptors\n */\nfunction getParserPlugins(babelOptions) {\n const babelParserPlugins = babelOptions.parserOpts?.plugins ?? [];\n const estreeOptions = { classFeatures: ESLINT_VERSION >= 8 };\n for (const plugin of babelParserPlugins) {\n if (Array.isArray(plugin) && plugin[0] === \"estree\") {\n Object.assign(estreeOptions, plugin[1]);\n break;\n }\n }\n // estree must be the first parser plugin to work with other parser plugins\n return [[\"estree\", estreeOptions], ...babelParserPlugins];\n}\n\nfunction normalizeParserOptions(options) {\n return {\n sourceType: options.sourceType,\n filename: options.filePath,\n ...options.babelOptions,\n parserOpts: {\n ...(process.env.BABEL_8_BREAKING\n ? {}\n : {\n allowImportExportEverywhere:\n options.allowImportExportEverywhere ?? false,\n allowSuperOutsideMethod: true,\n }),\n allowReturnOutsideFunction:\n options.ecmaFeatures?.globalReturn ??\n (process.env.BABEL_8_BREAKING ? false : true),\n ...options.babelOptions.parserOpts,\n plugins: getParserPlugins(options.babelOptions),\n // skip comment attaching for parsing performance\n attachComment: false,\n ranges: true,\n tokens: true,\n },\n caller: {\n name: \"@babel/eslint-parser\",\n ...options.babelOptions.caller,\n },\n };\n}\n\nfunction validateResolvedConfig(config, options, parseOptions) {\n if (config !== null) {\n if (options.requireConfigFile !== false) {\n if (!config.hasFilesystemConfig()) {\n let error = `No Babel config file detected for ${config.options.filename}. Either disable config file checking with requireConfigFile: false, or configure Babel so that it can find the config files.`;\n\n if (config.options.filename.includes(\"node_modules\")) {\n error += `\\nIf you have a .babelrc.js file or use package.json#babel, keep in mind that it's not used when parsing dependencies. If you want your config to be applied to your whole app, consider using babel.config.js or babel.config.json instead.`;\n }\n\n throw new Error(error);\n }\n }\n if (config.options) return config.options;\n }\n\n return getDefaultParserOptions(parseOptions);\n}\n\nfunction getDefaultParserOptions(options) {\n return {\n plugins: [],\n ...options,\n babelrc: false,\n configFile: false,\n browserslistConfigFile: false,\n ignore: null,\n only: null,\n };\n}\n\nexports.normalizeBabelParseConfig = async function (options) {\n const parseOptions = normalizeParserOptions(options);\n const config = await babel.loadPartialConfigAsync(parseOptions);\n return validateResolvedConfig(config, options, parseOptions);\n};\n\nexports.normalizeBabelParseConfigSync = function (options) {\n const parseOptions = normalizeParserOptions(options);\n const config = babel.loadPartialConfigSync(parseOptions);\n return validateResolvedConfig(config, options, parseOptions);\n};\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/eslint-parser/lib/worker/handle-message.cjs.map b/node_modules/@babel/eslint-parser/lib/worker/handle-message.cjs.map index 97c7cd2e0..1ca574fa5 100644 --- a/node_modules/@babel/eslint-parser/lib/worker/handle-message.cjs.map +++ b/node_modules/@babel/eslint-parser/lib/worker/handle-message.cjs.map @@ -1 +1 @@ -{"version":3,"names":["babel","require","maybeParse","getVisitorKeys","getTokLabels","normalizeBabelParseConfig","normalizeBabelParseConfigSync","module","exports","handleMessage","action","payload","version","FLOW_FLIPPED_ALIAS_KEYS","types","FLIPPED_ALIAS_KEYS","Flow","VISITOR_KEYS","options","then","code","Error"],"sources":["../../src/worker/handle-message.cjs"],"sourcesContent":["const babel = require(\"./babel-core.cjs\");\nconst maybeParse = require(\"./maybeParse.cjs\");\nconst { getVisitorKeys, getTokLabels } = require(\"./ast-info.cjs\");\nconst {\n normalizeBabelParseConfig,\n normalizeBabelParseConfigSync,\n} = require(\"./configuration.cjs\");\n\nmodule.exports = function handleMessage(action, payload) {\n switch (action) {\n case \"GET_VERSION\":\n return babel.version;\n case \"GET_TYPES_INFO\":\n return {\n FLOW_FLIPPED_ALIAS_KEYS: babel.types.FLIPPED_ALIAS_KEYS.Flow,\n VISITOR_KEYS: babel.types.VISITOR_KEYS,\n };\n case \"GET_TOKEN_LABELS\":\n return getTokLabels();\n case \"GET_VISITOR_KEYS\":\n return getVisitorKeys();\n case \"MAYBE_PARSE\":\n return normalizeBabelParseConfig(payload.options).then(options =>\n maybeParse(payload.code, options),\n );\n case \"MAYBE_PARSE_SYNC\":\n if (!USE_ESM) {\n return maybeParse(\n payload.code,\n normalizeBabelParseConfigSync(payload.options),\n );\n }\n }\n\n throw new Error(`Unknown internal parser worker action: ${action}`);\n};\n"],"mappings":"AAAA,MAAMA,KAAK,GAAGC,OAAO,CAAC,kBAAkB,CAAC;AACzC,MAAMC,UAAU,GAAGD,OAAO,CAAC,kBAAkB,CAAC;AAC9C,MAAM;EAAEE,cAAc;EAAEC;AAAa,CAAC,GAAGH,OAAO,CAAC,gBAAgB,CAAC;AAClE,MAAM;EACJI,yBAAyB;EACzBC;AACF,CAAC,GAAGL,OAAO,CAAC,qBAAqB,CAAC;AAElCM,MAAM,CAACC,OAAO,GAAG,SAASC,aAAaA,CAACC,MAAM,EAAEC,OAAO,EAAE;EACvD,QAAQD,MAAM;IACZ,KAAK,aAAa;MAChB,OAAOV,KAAK,CAACY,OAAO;IACtB,KAAK,gBAAgB;MACnB,OAAO;QACLC,uBAAuB,EAAEb,KAAK,CAACc,KAAK,CAACC,kBAAkB,CAACC,IAAI;QAC5DC,YAAY,EAAEjB,KAAK,CAACc,KAAK,CAACG;MAC5B,CAAC;IACH,KAAK,kBAAkB;MACrB,OAAOb,YAAY,EAAE;IACvB,KAAK,kBAAkB;MACrB,OAAOD,cAAc,EAAE;IACzB,KAAK,aAAa;MAChB,OAAOE,yBAAyB,CAACM,OAAO,CAACO,OAAO,CAAC,CAACC,IAAI,CAACD,OAAO,IAC5DhB,UAAU,CAACS,OAAO,CAACS,IAAI,EAAEF,OAAO,CAAC,CAClC;IACH,KAAK,kBAAkB;MACP;QACZ,OAAOhB,UAAU,CACfS,OAAO,CAACS,IAAI,EACZd,6BAA6B,CAACK,OAAO,CAACO,OAAO,CAAC,CAC/C;MACH;EAAC;EAGL,MAAM,IAAIG,KAAK,CAAE,0CAAyCX,MAAO,EAAC,CAAC;AACrE,CAAC"} \ No newline at end of file +{"version":3,"names":["babel","require","maybeParse","getVisitorKeys","getTokLabels","normalizeBabelParseConfig","normalizeBabelParseConfigSync","module","exports","handleMessage","action","payload","version","FLOW_FLIPPED_ALIAS_KEYS","types","FLIPPED_ALIAS_KEYS","Flow","VISITOR_KEYS","options","then","code","Error"],"sources":["../../src/worker/handle-message.cjs"],"sourcesContent":["const babel = require(\"./babel-core.cjs\");\nconst maybeParse = require(\"./maybeParse.cjs\");\nconst { getVisitorKeys, getTokLabels } = require(\"./ast-info.cjs\");\nconst {\n normalizeBabelParseConfig,\n normalizeBabelParseConfigSync,\n} = require(\"./configuration.cjs\");\n\nmodule.exports = function handleMessage(action, payload) {\n switch (action) {\n case \"GET_VERSION\":\n return babel.version;\n case \"GET_TYPES_INFO\":\n return {\n FLOW_FLIPPED_ALIAS_KEYS: babel.types.FLIPPED_ALIAS_KEYS.Flow,\n VISITOR_KEYS: babel.types.VISITOR_KEYS,\n };\n case \"GET_TOKEN_LABELS\":\n return getTokLabels();\n case \"GET_VISITOR_KEYS\":\n return getVisitorKeys();\n case \"MAYBE_PARSE\":\n return normalizeBabelParseConfig(payload.options).then(options =>\n maybeParse(payload.code, options),\n );\n case \"MAYBE_PARSE_SYNC\":\n if (!USE_ESM) {\n return maybeParse(\n payload.code,\n normalizeBabelParseConfigSync(payload.options),\n );\n }\n }\n\n throw new Error(`Unknown internal parser worker action: ${action}`);\n};\n"],"mappings":"AAAA,MAAMA,KAAK,GAAGC,OAAO,CAAC,kBAAkB,CAAC;AACzC,MAAMC,UAAU,GAAGD,OAAO,CAAC,kBAAkB,CAAC;AAC9C,MAAM;EAAEE,cAAc;EAAEC;AAAa,CAAC,GAAGH,OAAO,CAAC,gBAAgB,CAAC;AAClE,MAAM;EACJI,yBAAyB;EACzBC;AACF,CAAC,GAAGL,OAAO,CAAC,qBAAqB,CAAC;AAElCM,MAAM,CAACC,OAAO,GAAG,SAASC,aAAaA,CAACC,MAAM,EAAEC,OAAO,EAAE;EACvD,QAAQD,MAAM;IACZ,KAAK,aAAa;MAChB,OAAOV,KAAK,CAACY,OAAO;IACtB,KAAK,gBAAgB;MACnB,OAAO;QACLC,uBAAuB,EAAEb,KAAK,CAACc,KAAK,CAACC,kBAAkB,CAACC,IAAI;QAC5DC,YAAY,EAAEjB,KAAK,CAACc,KAAK,CAACG;MAC5B,CAAC;IACH,KAAK,kBAAkB;MACrB,OAAOb,YAAY,CAAC,CAAC;IACvB,KAAK,kBAAkB;MACrB,OAAOD,cAAc,CAAC,CAAC;IACzB,KAAK,aAAa;MAChB,OAAOE,yBAAyB,CAACM,OAAO,CAACO,OAAO,CAAC,CAACC,IAAI,CAACD,OAAO,IAC5DhB,UAAU,CAACS,OAAO,CAACS,IAAI,EAAEF,OAAO,CAClC,CAAC;IACH,KAAK,kBAAkB;MACP;QACZ,OAAOhB,UAAU,CACfS,OAAO,CAACS,IAAI,EACZd,6BAA6B,CAACK,OAAO,CAACO,OAAO,CAC/C,CAAC;MACH;EACJ;EAEA,MAAM,IAAIG,KAAK,CAAE,0CAAyCX,MAAO,EAAC,CAAC;AACrE,CAAC"} \ No newline at end of file diff --git a/node_modules/@babel/eslint-parser/lib/worker/index.cjs.map b/node_modules/@babel/eslint-parser/lib/worker/index.cjs.map index 01e86514e..2ef113d32 100644 --- a/node_modules/@babel/eslint-parser/lib/worker/index.cjs.map +++ b/node_modules/@babel/eslint-parser/lib/worker/index.cjs.map @@ -1 +1 @@ -{"version":3,"names":["babel","require","handleMessage","parentPort","addListener","_asyncToGenerator","signal","port","action","payload","response","init","result","error","errorData","Object","assign","postMessage","_unused","Error","close","Atomics","store","notify"],"sources":["../../src/worker/index.cjs"],"sourcesContent":["const babel = require(\"./babel-core.cjs\");\nconst handleMessage = require(\"./handle-message.cjs\");\n\nconst { parentPort } = require(\"worker_threads\");\n\nparentPort.addListener(\"message\", async ({ signal, port, action, payload }) => {\n let response;\n\n try {\n if (babel.init) await babel.init;\n\n response = { result: await handleMessage(action, payload) };\n } catch (error) {\n response = { error, errorData: { ...error } };\n }\n\n try {\n port.postMessage(response);\n } catch {\n port.postMessage({\n error: new Error(\"Cannot serialize worker response\"),\n });\n } finally {\n port.close();\n Atomics.store(signal, 0, 1);\n Atomics.notify(signal, 0);\n }\n});\n"],"mappings":";;AAAA,MAAMA,KAAK,GAAGC,OAAO,CAAC,kBAAkB,CAAC;AACzC,MAAMC,aAAa,GAAGD,OAAO,CAAC,sBAAsB,CAAC;AAErD,MAAM;EAAEE;AAAW,CAAC,GAAGF,OAAO,CAAC,gBAAgB,CAAC;AAEhDE,UAAU,CAACC,WAAW,CAAC,SAAS,EAAAC,iBAAA,CAAE,WAAO;EAAEC,MAAM;EAAEC,IAAI;EAAEC,MAAM;EAAEC;AAAQ,CAAC,EAAK;EAC7E,IAAIC,QAAQ;EAEZ,IAAI;IACF,IAAIV,KAAK,CAACW,IAAI,EAAE,MAAMX,KAAK,CAACW,IAAI;IAEhCD,QAAQ,GAAG;MAAEE,MAAM,QAAQV,aAAa,CAACM,MAAM,EAAEC,OAAO;IAAE,CAAC;EAC7D,CAAC,CAAC,OAAOI,KAAK,EAAE;IACdH,QAAQ,GAAG;MAAEG,KAAK;MAAEC,SAAS,EAAAC,MAAA,CAAAC,MAAA,KAAOH,KAAK;IAAG,CAAC;EAC/C;EAEA,IAAI;IACFN,IAAI,CAACU,WAAW,CAACP,QAAQ,CAAC;EAC5B,CAAC,CAAC,OAAAQ,OAAA,EAAM;IACNX,IAAI,CAACU,WAAW,CAAC;MACfJ,KAAK,EAAE,IAAIM,KAAK,CAAC,kCAAkC;IACrD,CAAC,CAAC;EACJ,CAAC,SAAS;IACRZ,IAAI,CAACa,KAAK,EAAE;IACZC,OAAO,CAACC,KAAK,CAAChB,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3Be,OAAO,CAACE,MAAM,CAACjB,MAAM,EAAE,CAAC,CAAC;EAC3B;AACF,CAAC,EAAC"} \ No newline at end of file +{"version":3,"names":["babel","require","handleMessage","parentPort","addListener","_asyncToGenerator","signal","port","action","payload","response","init","result","error","errorData","Object","assign","postMessage","_unused","Error","close","Atomics","store","notify"],"sources":["../../src/worker/index.cjs"],"sourcesContent":["const babel = require(\"./babel-core.cjs\");\nconst handleMessage = require(\"./handle-message.cjs\");\n\nconst { parentPort } = require(\"worker_threads\");\n\nparentPort.addListener(\"message\", async ({ signal, port, action, payload }) => {\n let response;\n\n try {\n if (babel.init) await babel.init;\n\n response = { result: await handleMessage(action, payload) };\n } catch (error) {\n response = { error, errorData: { ...error } };\n }\n\n try {\n port.postMessage(response);\n } catch {\n port.postMessage({\n error: new Error(\"Cannot serialize worker response\"),\n });\n } finally {\n port.close();\n Atomics.store(signal, 0, 1);\n Atomics.notify(signal, 0);\n }\n});\n"],"mappings":";;AAAA,MAAMA,KAAK,GAAGC,OAAO,CAAC,kBAAkB,CAAC;AACzC,MAAMC,aAAa,GAAGD,OAAO,CAAC,sBAAsB,CAAC;AAErD,MAAM;EAAEE;AAAW,CAAC,GAAGF,OAAO,CAAC,gBAAgB,CAAC;AAEhDE,UAAU,CAACC,WAAW,CAAC,SAAS,EAAAC,iBAAA,CAAE,WAAO;EAAEC,MAAM;EAAEC,IAAI;EAAEC,MAAM;EAAEC;AAAQ,CAAC,EAAK;EAC7E,IAAIC,QAAQ;EAEZ,IAAI;IACF,IAAIV,KAAK,CAACW,IAAI,EAAE,MAAMX,KAAK,CAACW,IAAI;IAEhCD,QAAQ,GAAG;MAAEE,MAAM,QAAQV,aAAa,CAACM,MAAM,EAAEC,OAAO;IAAE,CAAC;EAC7D,CAAC,CAAC,OAAOI,KAAK,EAAE;IACdH,QAAQ,GAAG;MAAEG,KAAK;MAAEC,SAAS,EAAAC,MAAA,CAAAC,MAAA,KAAOH,KAAK;IAAG,CAAC;EAC/C;EAEA,IAAI;IACFN,IAAI,CAACU,WAAW,CAACP,QAAQ,CAAC;EAC5B,CAAC,CAAC,OAAAQ,OAAA,EAAM;IACNX,IAAI,CAACU,WAAW,CAAC;MACfJ,KAAK,EAAE,IAAIM,KAAK,CAAC,kCAAkC;IACrD,CAAC,CAAC;EACJ,CAAC,SAAS;IACRZ,IAAI,CAACa,KAAK,CAAC,CAAC;IACZC,OAAO,CAACC,KAAK,CAAChB,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3Be,OAAO,CAACE,MAAM,CAACjB,MAAM,EAAE,CAAC,CAAC;EAC3B;AACF,CAAC,EAAC"} \ No newline at end of file diff --git a/node_modules/@babel/eslint-parser/lib/worker/maybeParse.cjs.map b/node_modules/@babel/eslint-parser/lib/worker/maybeParse.cjs.map index 48421b413..05bb1f8c3 100644 --- a/node_modules/@babel/eslint-parser/lib/worker/maybeParse.cjs.map +++ b/node_modules/@babel/eslint-parser/lib/worker/maybeParse.cjs.map @@ -1 +1 @@ -{"version":3,"names":["babel","require","convert","getVisitorKeys","getTokLabels","extractParserOptionsPlugin","ref","extractParserOptionsConfigItem","MULTIPLE_OVERRIDES","module","exports","maybeParse","code","options","createConfigItem","dirname","__dirname","type","plugins","concat","parserOptions","parseSync","ast","err","test","message","error"],"sources":["../../src/worker/maybeParse.cjs"],"sourcesContent":["const babel = require(\"./babel-core.cjs\");\nconst convert = require(\"../convert/index.cjs\");\nconst { getVisitorKeys, getTokLabels } = require(\"./ast-info.cjs\");\nconst extractParserOptionsPlugin = require(\"./extract-parser-options-plugin.cjs\");\n\nconst ref = {};\nlet extractParserOptionsConfigItem;\n\nconst MULTIPLE_OVERRIDES = /More than one plugin attempted to override parsing/;\n\nmodule.exports = function maybeParse(code, options) {\n if (!extractParserOptionsConfigItem) {\n extractParserOptionsConfigItem = babel.createConfigItem(\n [extractParserOptionsPlugin, ref],\n { dirname: __dirname, type: \"plugin\" },\n );\n }\n const { plugins } = options;\n options.plugins = plugins.concat(extractParserOptionsConfigItem);\n\n try {\n return {\n parserOptions: babel.parseSync(code, options),\n ast: null,\n };\n } catch (err) {\n if (!MULTIPLE_OVERRIDES.test(err.message)) {\n throw err;\n }\n }\n\n // There was already a parserOverride, so remove our plugin.\n options.plugins = plugins;\n\n let ast;\n try {\n ast = babel.parseSync(code, options);\n } catch (err) {\n throw convert.error(err);\n }\n\n return {\n ast: convert.ast(ast, code, getTokLabels(), getVisitorKeys()),\n parserOptions: null,\n };\n};\n"],"mappings":"AAAA,MAAMA,KAAK,GAAGC,OAAO,CAAC,kBAAkB,CAAC;AACzC,MAAMC,OAAO,GAAGD,OAAO,CAAC,sBAAsB,CAAC;AAC/C,MAAM;EAAEE,cAAc;EAAEC;AAAa,CAAC,GAAGH,OAAO,CAAC,gBAAgB,CAAC;AAClE,MAAMI,0BAA0B,GAAGJ,OAAO,CAAC,qCAAqC,CAAC;AAEjF,MAAMK,GAAG,GAAG,CAAC,CAAC;AACd,IAAIC,8BAA8B;AAElC,MAAMC,kBAAkB,GAAG,oDAAoD;AAE/EC,MAAM,CAACC,OAAO,GAAG,SAASC,UAAUA,CAACC,IAAI,EAAEC,OAAO,EAAE;EAClD,IAAI,CAACN,8BAA8B,EAAE;IACnCA,8BAA8B,GAAGP,KAAK,CAACc,gBAAgB,CACrD,CAACT,0BAA0B,EAAEC,GAAG,CAAC,EACjC;MAAES,OAAO,EAAEC,SAAS;MAAEC,IAAI,EAAE;IAAS,CAAC,CACvC;EACH;EACA,MAAM;IAAEC;EAAQ,CAAC,GAAGL,OAAO;EAC3BA,OAAO,CAACK,OAAO,GAAGA,OAAO,CAACC,MAAM,CAACZ,8BAA8B,CAAC;EAEhE,IAAI;IACF,OAAO;MACLa,aAAa,EAAEpB,KAAK,CAACqB,SAAS,CAACT,IAAI,EAAEC,OAAO,CAAC;MAC7CS,GAAG,EAAE;IACP,CAAC;EACH,CAAC,CAAC,OAAOC,GAAG,EAAE;IACZ,IAAI,CAACf,kBAAkB,CAACgB,IAAI,CAACD,GAAG,CAACE,OAAO,CAAC,EAAE;MACzC,MAAMF,GAAG;IACX;EACF;EAGAV,OAAO,CAACK,OAAO,GAAGA,OAAO;EAEzB,IAAII,GAAG;EACP,IAAI;IACFA,GAAG,GAAGtB,KAAK,CAACqB,SAAS,CAACT,IAAI,EAAEC,OAAO,CAAC;EACtC,CAAC,CAAC,OAAOU,GAAG,EAAE;IACZ,MAAMrB,OAAO,CAACwB,KAAK,CAACH,GAAG,CAAC;EAC1B;EAEA,OAAO;IACLD,GAAG,EAAEpB,OAAO,CAACoB,GAAG,CAACA,GAAG,EAAEV,IAAI,EAAER,YAAY,EAAE,EAAED,cAAc,EAAE,CAAC;IAC7DiB,aAAa,EAAE;EACjB,CAAC;AACH,CAAC"} \ No newline at end of file +{"version":3,"names":["babel","require","convert","getVisitorKeys","getTokLabels","extractParserOptionsPlugin","ref","extractParserOptionsConfigItem","MULTIPLE_OVERRIDES","module","exports","maybeParse","code","options","createConfigItem","dirname","__dirname","type","plugins","concat","parserOptions","parseSync","ast","err","test","message","error"],"sources":["../../src/worker/maybeParse.cjs"],"sourcesContent":["const babel = require(\"./babel-core.cjs\");\nconst convert = require(\"../convert/index.cjs\");\nconst { getVisitorKeys, getTokLabels } = require(\"./ast-info.cjs\");\nconst extractParserOptionsPlugin = require(\"./extract-parser-options-plugin.cjs\");\n\nconst ref = {};\nlet extractParserOptionsConfigItem;\n\nconst MULTIPLE_OVERRIDES = /More than one plugin attempted to override parsing/;\n\nmodule.exports = function maybeParse(code, options) {\n if (!extractParserOptionsConfigItem) {\n extractParserOptionsConfigItem = babel.createConfigItem(\n [extractParserOptionsPlugin, ref],\n { dirname: __dirname, type: \"plugin\" },\n );\n }\n const { plugins } = options;\n options.plugins = plugins.concat(extractParserOptionsConfigItem);\n\n try {\n return {\n parserOptions: babel.parseSync(code, options),\n ast: null,\n };\n } catch (err) {\n if (!MULTIPLE_OVERRIDES.test(err.message)) {\n throw err;\n }\n }\n\n // There was already a parserOverride, so remove our plugin.\n options.plugins = plugins;\n\n let ast;\n try {\n ast = babel.parseSync(code, options);\n } catch (err) {\n throw convert.error(err);\n }\n\n return {\n ast: convert.ast(ast, code, getTokLabels(), getVisitorKeys()),\n parserOptions: null,\n };\n};\n"],"mappings":"AAAA,MAAMA,KAAK,GAAGC,OAAO,CAAC,kBAAkB,CAAC;AACzC,MAAMC,OAAO,GAAGD,OAAO,CAAC,sBAAsB,CAAC;AAC/C,MAAM;EAAEE,cAAc;EAAEC;AAAa,CAAC,GAAGH,OAAO,CAAC,gBAAgB,CAAC;AAClE,MAAMI,0BAA0B,GAAGJ,OAAO,CAAC,qCAAqC,CAAC;AAEjF,MAAMK,GAAG,GAAG,CAAC,CAAC;AACd,IAAIC,8BAA8B;AAElC,MAAMC,kBAAkB,GAAG,oDAAoD;AAE/EC,MAAM,CAACC,OAAO,GAAG,SAASC,UAAUA,CAACC,IAAI,EAAEC,OAAO,EAAE;EAClD,IAAI,CAACN,8BAA8B,EAAE;IACnCA,8BAA8B,GAAGP,KAAK,CAACc,gBAAgB,CACrD,CAACT,0BAA0B,EAAEC,GAAG,CAAC,EACjC;MAAES,OAAO,EAAEC,SAAS;MAAEC,IAAI,EAAE;IAAS,CACvC,CAAC;EACH;EACA,MAAM;IAAEC;EAAQ,CAAC,GAAGL,OAAO;EAC3BA,OAAO,CAACK,OAAO,GAAGA,OAAO,CAACC,MAAM,CAACZ,8BAA8B,CAAC;EAEhE,IAAI;IACF,OAAO;MACLa,aAAa,EAAEpB,KAAK,CAACqB,SAAS,CAACT,IAAI,EAAEC,OAAO,CAAC;MAC7CS,GAAG,EAAE;IACP,CAAC;EACH,CAAC,CAAC,OAAOC,GAAG,EAAE;IACZ,IAAI,CAACf,kBAAkB,CAACgB,IAAI,CAACD,GAAG,CAACE,OAAO,CAAC,EAAE;MACzC,MAAMF,GAAG;IACX;EACF;EAGAV,OAAO,CAACK,OAAO,GAAGA,OAAO;EAEzB,IAAII,GAAG;EACP,IAAI;IACFA,GAAG,GAAGtB,KAAK,CAACqB,SAAS,CAACT,IAAI,EAAEC,OAAO,CAAC;EACtC,CAAC,CAAC,OAAOU,GAAG,EAAE;IACZ,MAAMrB,OAAO,CAACwB,KAAK,CAACH,GAAG,CAAC;EAC1B;EAEA,OAAO;IACLD,GAAG,EAAEpB,OAAO,CAACoB,GAAG,CAACA,GAAG,EAAEV,IAAI,EAAER,YAAY,CAAC,CAAC,EAAED,cAAc,CAAC,CAAC,CAAC;IAC7DiB,aAAa,EAAE;EACjB,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/@babel/eslint-parser/package.json b/node_modules/@babel/eslint-parser/package.json index a083731aa..abec60676 100644 --- a/node_modules/@babel/eslint-parser/package.json +++ b/node_modules/@babel/eslint-parser/package.json @@ -1,6 +1,6 @@ { "name": "@babel/eslint-parser", - "version": "7.21.3", + "version": "7.22.5", "description": "ESLint parser that allows for linting of experimental syntax transformed by Babel", "author": "The Babel Team (https://babel.dev/team)", "license": "MIT", @@ -36,7 +36,7 @@ "semver": "^6.3.0" }, "devDependencies": { - "@babel/core": "^7.21.3", + "@babel/core": "^7.22.5", "dedent": "^0.7.0", "eslint": "^8.22.0" } diff --git a/node_modules/@babel/generator/lib/buffer.js.map b/node_modules/@babel/generator/lib/buffer.js.map index fd712989c..18a758117 100644 --- a/node_modules/@babel/generator/lib/buffer.js.map +++ b/node_modules/@babel/generator/lib/buffer.js.map @@ -1 +1 @@ -{"version":3,"names":["Buffer","constructor","map","_map","_buf","_str","_appendCount","_last","_queue","_queueCursor","_canMarkIdName","_position","line","column","_sourcePosition","identifierName","undefined","identifierNamePos","filename","_allocQueue","queue","i","push","char","repeat","_pushQueue","cursor","length","item","_popQueue","Error","get","_flush","result","code","trimRight","decodedMap","getDecoded","__mergedMap","resultMap","value","Object","defineProperty","writable","rawMappings","mappings","getRawMappings","append","str","maybeNewline","_append","appendChar","_appendChar","sourcePosition","queueIndentation","queueCursor","sourcePos","String","fromCharCode","_mark","len","position","charCodeAt","indexOf","last","_this$_map","mark","removeTrailingNewline","removeLastSemicolon","getLastChar","getNewlineCount","count","endsWithCharAndNewline","lastCp","hasContent","exactSource","loc","cb","source","prop","_normalizePosition","sourceWithOffset","lineOffset","columnOffset","withSource","pos","target","getCurrentColumn","lastIndex","getCurrentLine","exports","default"],"sources":["../src/buffer.ts"],"sourcesContent":["import type SourceMap from \"./source-map\";\nimport * as charcodes from \"charcodes\";\n\nexport type Pos = {\n line: number;\n column: number;\n};\nexport type Loc = {\n start?: Pos;\n end?: Pos;\n filename?: string;\n};\ntype SourcePos = {\n line: number | undefined;\n column: number | undefined;\n identifierName: string | undefined;\n filename: string | undefined;\n};\ntype InternalSourcePos = SourcePos & { identifierNamePos: Pos };\n\ntype QueueItem = {\n char: number;\n repeat: number;\n line: number | undefined;\n column: number | undefined;\n identifierName: undefined; // Not used, it always undefined.\n identifierNamePos: undefined; // Not used, it always undefined.\n filename: string | undefined;\n};\n\nexport default class Buffer {\n constructor(map?: SourceMap | null) {\n this._map = map;\n\n this._allocQueue();\n }\n\n _map: SourceMap = null;\n _buf = \"\";\n _str = \"\";\n _appendCount = 0;\n _last = 0;\n _queue: QueueItem[] = [];\n _queueCursor = 0;\n _canMarkIdName = true;\n\n _position = {\n line: 1,\n column: 0,\n };\n _sourcePosition: InternalSourcePos = {\n identifierName: undefined,\n identifierNamePos: undefined,\n line: undefined,\n column: undefined,\n filename: undefined,\n };\n\n _allocQueue() {\n const queue = this._queue;\n\n for (let i = 0; i < 16; i++) {\n queue.push({\n char: 0,\n repeat: 1,\n line: undefined,\n column: undefined,\n identifierName: undefined,\n identifierNamePos: undefined,\n filename: \"\",\n });\n }\n }\n\n _pushQueue(\n char: number,\n repeat: number,\n line: number | undefined,\n column: number | undefined,\n filename: string | undefined,\n ) {\n const cursor = this._queueCursor;\n if (cursor === this._queue.length) {\n this._allocQueue();\n }\n const item = this._queue[cursor];\n item.char = char;\n item.repeat = repeat;\n item.line = line;\n item.column = column;\n item.filename = filename;\n\n this._queueCursor++;\n }\n\n _popQueue(): QueueItem {\n if (this._queueCursor === 0) {\n throw new Error(\"Cannot pop from empty queue\");\n }\n return this._queue[--this._queueCursor];\n }\n\n /**\n * Get the final string output from the buffer, along with the sourcemap if one exists.\n */\n\n get() {\n this._flush();\n\n const map = this._map;\n const result = {\n // Whatever trim is used here should not execute a regex against the\n // source string since it may be arbitrarily large after all transformations\n code: (this._buf + this._str).trimRight(),\n // Decoded sourcemap is free to generate.\n decodedMap: map?.getDecoded(),\n // Used as a marker for backwards compatibility. We moved input map merging\n // into the generator. We cannot merge the input map a second time, so the\n // presence of this field tells us we've already done the work.\n get __mergedMap() {\n return this.map;\n },\n // Encoding the sourcemap is moderately CPU expensive.\n get map() {\n const resultMap = map ? map.get() : null;\n result.map = resultMap;\n return resultMap;\n },\n set map(value) {\n Object.defineProperty(result, \"map\", { value, writable: true });\n },\n // Retrieving the raw mappings is very memory intensive.\n get rawMappings() {\n const mappings = map?.getRawMappings();\n result.rawMappings = mappings;\n return mappings;\n },\n set rawMappings(value) {\n Object.defineProperty(result, \"rawMappings\", { value, writable: true });\n },\n };\n\n return result;\n }\n\n /**\n * Add a string to the buffer that cannot be reverted.\n */\n\n append(str: string, maybeNewline: boolean): void {\n this._flush();\n\n this._append(str, this._sourcePosition, maybeNewline);\n }\n\n appendChar(char: number): void {\n this._flush();\n this._appendChar(char, 1, this._sourcePosition);\n }\n\n /**\n * Add a string to the buffer than can be reverted.\n */\n queue(char: number): void {\n // Drop trailing spaces when a newline is inserted.\n if (char === charcodes.lineFeed) {\n while (this._queueCursor !== 0) {\n const char = this._queue[this._queueCursor - 1].char;\n if (char !== charcodes.space && char !== charcodes.tab) {\n break;\n }\n\n this._queueCursor--;\n }\n }\n\n const sourcePosition = this._sourcePosition;\n this._pushQueue(\n char,\n 1,\n sourcePosition.line,\n sourcePosition.column,\n sourcePosition.filename,\n );\n }\n\n /**\n * Same as queue, but this indentation will never have a sourcemap marker.\n */\n queueIndentation(char: number, repeat: number): void {\n this._pushQueue(char, repeat, undefined, undefined, undefined);\n }\n\n _flush(): void {\n const queueCursor = this._queueCursor;\n const queue = this._queue;\n for (let i = 0; i < queueCursor; i++) {\n const item: QueueItem = queue[i];\n this._appendChar(item.char, item.repeat, item);\n }\n this._queueCursor = 0;\n }\n\n _appendChar(\n char: number,\n repeat: number,\n sourcePos: InternalSourcePos,\n ): void {\n this._last = char;\n\n this._str +=\n repeat > 1\n ? String.fromCharCode(char).repeat(repeat)\n : String.fromCharCode(char);\n\n if (char !== charcodes.lineFeed) {\n this._mark(\n sourcePos.line,\n sourcePos.column,\n sourcePos.identifierName,\n sourcePos.identifierNamePos,\n sourcePos.filename,\n );\n this._position.column += repeat;\n } else {\n this._position.line++;\n this._position.column = 0;\n }\n\n if (this._canMarkIdName) {\n sourcePos.identifierName = undefined;\n sourcePos.identifierNamePos = undefined;\n }\n }\n\n _append(\n str: string,\n sourcePos: InternalSourcePos,\n maybeNewline: boolean,\n ): void {\n const len = str.length;\n const position = this._position;\n\n this._last = str.charCodeAt(len - 1);\n\n if (++this._appendCount > 4096) {\n +this._str; // Unexplainable huge performance boost. Ref: https://github.com/davidmarkclements/flatstr License: MIT\n this._buf += this._str;\n this._str = str;\n this._appendCount = 0;\n } else {\n this._str += str;\n }\n\n if (!maybeNewline && !this._map) {\n position.column += len;\n return;\n }\n\n const { column, identifierName, identifierNamePos, filename } = sourcePos;\n let line = sourcePos.line;\n\n if (\n (identifierName != null || identifierNamePos != null) &&\n this._canMarkIdName\n ) {\n sourcePos.identifierName = undefined;\n sourcePos.identifierNamePos = undefined;\n }\n\n // Search for newline chars. We search only for `\\n`, since both `\\r` and\n // `\\r\\n` are normalized to `\\n` during parse. We exclude `\\u2028` and\n // `\\u2029` for performance reasons, they're so uncommon that it's probably\n // ok. It's also unclear how other sourcemap utilities handle them...\n let i = str.indexOf(\"\\n\");\n let last = 0;\n\n // If the string starts with a newline char, then adding a mark is redundant.\n // This catches both \"no newlines\" and \"newline after several chars\".\n if (i !== 0) {\n this._mark(line, column, identifierName, identifierNamePos, filename);\n }\n\n // Now, find each remaining newline char in the string.\n while (i !== -1) {\n position.line++;\n position.column = 0;\n last = i + 1;\n\n // We mark the start of each line, which happens directly after this newline char\n // unless this is the last char.\n // When manually adding multi-line content (such as a comment), `line` will be `undefined`.\n if (last < len && line !== undefined) {\n this._mark(++line, 0, null, null, filename);\n }\n i = str.indexOf(\"\\n\", last);\n }\n position.column += len - last;\n }\n\n _mark(\n line: number | undefined,\n column: number | undefined,\n identifierName: string | undefined,\n identifierNamePos: Pos | undefined,\n filename: string | undefined,\n ): void {\n this._map?.mark(\n this._position,\n line,\n column,\n identifierName,\n identifierNamePos,\n filename,\n );\n }\n\n removeTrailingNewline(): void {\n const queueCursor = this._queueCursor;\n if (\n queueCursor !== 0 &&\n this._queue[queueCursor - 1].char === charcodes.lineFeed\n ) {\n this._queueCursor--;\n }\n }\n\n removeLastSemicolon(): void {\n const queueCursor = this._queueCursor;\n if (\n queueCursor !== 0 &&\n this._queue[queueCursor - 1].char === charcodes.semicolon\n ) {\n this._queueCursor--;\n }\n }\n\n getLastChar(): number {\n const queueCursor = this._queueCursor;\n return queueCursor !== 0 ? this._queue[queueCursor - 1].char : this._last;\n }\n\n /**\n * This will only detect at most 1 newline after a call to `flush()`,\n * but this has not been found so far, and an accurate count can be achieved if needed later.\n */\n getNewlineCount(): number {\n const queueCursor = this._queueCursor;\n let count = 0;\n if (queueCursor === 0) return this._last === charcodes.lineFeed ? 1 : 0;\n for (let i = queueCursor - 1; i >= 0; i--) {\n if (this._queue[i].char !== charcodes.lineFeed) {\n break;\n }\n count++;\n }\n return count === queueCursor && this._last === charcodes.lineFeed\n ? count + 1\n : count;\n }\n\n /**\n * check if current _last + queue ends with newline, return the character before newline\n *\n * @param {*} ch\n * @memberof Buffer\n */\n endsWithCharAndNewline(): number {\n const queue = this._queue;\n const queueCursor = this._queueCursor;\n if (queueCursor !== 0) {\n // every element in queue is one-length whitespace string\n const lastCp = queue[queueCursor - 1].char;\n if (lastCp !== charcodes.lineFeed) return;\n if (queueCursor > 1) {\n return queue[queueCursor - 2].char;\n } else {\n return this._last;\n }\n }\n // We assume that everything being matched is at most a single token plus some whitespace,\n // which everything currently is, but otherwise we'd have to expand _last or check _buf.\n }\n\n hasContent(): boolean {\n return this._queueCursor !== 0 || !!this._last;\n }\n\n /**\n * Certain sourcemap usecases expect mappings to be more accurate than\n * Babel's generic sourcemap handling allows. For now, we special-case\n * identifiers to allow for the primary cases to work.\n * The goal of this line is to ensure that the map output from Babel will\n * have an exact range on identifiers in the output code. Without this\n * line, Babel would potentially include some number of trailing tokens\n * that are printed after the identifier, but before another location has\n * been assigned.\n * This allows tooling like Rollup and Webpack to more accurately perform\n * their own transformations. Most importantly, this allows the import/export\n * transformations performed by those tools to loose less information when\n * applying their own transformations on top of the code and map results\n * generated by Babel itself.\n *\n * The primary example of this is the snippet:\n *\n * import mod from \"mod\";\n * mod();\n *\n * With this line, there will be one mapping range over \"mod\" and another\n * over \"();\", where previously it would have been a single mapping.\n */\n exactSource(loc: Loc | undefined, cb: () => void) {\n if (!this._map) {\n cb();\n return;\n }\n\n this.source(\"start\", loc);\n // @ts-expect-error identifierName is not defined\n const identifierName = loc.identifierName;\n const sourcePos = this._sourcePosition;\n if (identifierName) {\n this._canMarkIdName = false;\n sourcePos.identifierName = identifierName;\n }\n cb();\n\n if (identifierName) {\n this._canMarkIdName = true;\n sourcePos.identifierName = undefined;\n sourcePos.identifierNamePos = undefined;\n }\n this.source(\"end\", loc);\n }\n\n /**\n * Sets a given position as the current source location so generated code after this call\n * will be given this position in the sourcemap.\n */\n\n source(prop: \"start\" | \"end\", loc: Loc | undefined): void {\n if (!this._map) return;\n\n // Since this is called extremely often, we re-use the same _sourcePosition\n // object for the whole lifetime of the buffer.\n this._normalizePosition(prop, loc, 0, 0);\n }\n\n sourceWithOffset(\n prop: \"start\" | \"end\",\n loc: Loc | undefined,\n lineOffset: number,\n columnOffset: number,\n ): void {\n if (!this._map) return;\n\n this._normalizePosition(prop, loc, lineOffset, columnOffset);\n }\n\n /**\n * Call a callback with a specific source location\n */\n\n withSource(prop: \"start\" | \"end\", loc: Loc, cb: () => void): void {\n if (this._map) {\n this.source(prop, loc);\n }\n\n cb();\n }\n\n _normalizePosition(\n prop: \"start\" | \"end\",\n loc: Loc,\n lineOffset: number,\n columnOffset: number,\n ) {\n const pos = loc[prop];\n const target = this._sourcePosition;\n\n if (pos) {\n target.line = pos.line + lineOffset;\n target.column = pos.column + columnOffset;\n target.filename = loc.filename;\n }\n }\n\n getCurrentColumn(): number {\n const queue = this._queue;\n const queueCursor = this._queueCursor;\n\n let lastIndex = -1;\n let len = 0;\n for (let i = 0; i < queueCursor; i++) {\n const item = queue[i];\n if (item.char === charcodes.lineFeed) {\n lastIndex = len;\n }\n len += item.repeat;\n }\n\n return lastIndex === -1 ? this._position.column + len : len - 1 - lastIndex;\n }\n\n getCurrentLine(): number {\n let count = 0;\n\n const queue = this._queue;\n for (let i = 0; i < this._queueCursor; i++) {\n if (queue[i].char === charcodes.lineFeed) {\n count++;\n }\n }\n\n return this._position.line + count;\n }\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["Buffer","constructor","map","_map","_buf","_str","_appendCount","_last","_queue","_queueCursor","_canMarkIdName","_position","line","column","_sourcePosition","identifierName","undefined","identifierNamePos","filename","_allocQueue","queue","i","push","char","repeat","_pushQueue","cursor","length","item","_popQueue","Error","get","_flush","result","code","trimRight","decodedMap","getDecoded","__mergedMap","resultMap","value","Object","defineProperty","writable","rawMappings","mappings","getRawMappings","append","str","maybeNewline","_append","appendChar","_appendChar","sourcePosition","queueIndentation","queueCursor","sourcePos","String","fromCharCode","_mark","len","position","charCodeAt","indexOf","last","_this$_map","mark","removeTrailingNewline","removeLastSemicolon","getLastChar","getNewlineCount","count","endsWithCharAndNewline","lastCp","hasContent","exactSource","loc","cb","source","prop","_normalizePosition","sourceWithOffset","lineOffset","columnOffset","withSource","pos","target","getCurrentColumn","lastIndex","getCurrentLine","exports","default"],"sources":["../src/buffer.ts"],"sourcesContent":["import type SourceMap from \"./source-map\";\nimport * as charcodes from \"charcodes\";\n\nexport type Pos = {\n line: number;\n column: number;\n};\nexport type Loc = {\n start?: Pos;\n end?: Pos;\n filename?: string;\n};\ntype SourcePos = {\n line: number | undefined;\n column: number | undefined;\n identifierName: string | undefined;\n filename: string | undefined;\n};\ntype InternalSourcePos = SourcePos & { identifierNamePos: Pos };\n\ntype QueueItem = {\n char: number;\n repeat: number;\n line: number | undefined;\n column: number | undefined;\n identifierName: undefined; // Not used, it always undefined.\n identifierNamePos: undefined; // Not used, it always undefined.\n filename: string | undefined;\n};\n\nexport default class Buffer {\n constructor(map?: SourceMap | null) {\n this._map = map;\n\n this._allocQueue();\n }\n\n _map: SourceMap = null;\n _buf = \"\";\n _str = \"\";\n _appendCount = 0;\n _last = 0;\n _queue: QueueItem[] = [];\n _queueCursor = 0;\n _canMarkIdName = true;\n\n _position = {\n line: 1,\n column: 0,\n };\n _sourcePosition: InternalSourcePos = {\n identifierName: undefined,\n identifierNamePos: undefined,\n line: undefined,\n column: undefined,\n filename: undefined,\n };\n\n _allocQueue() {\n const queue = this._queue;\n\n for (let i = 0; i < 16; i++) {\n queue.push({\n char: 0,\n repeat: 1,\n line: undefined,\n column: undefined,\n identifierName: undefined,\n identifierNamePos: undefined,\n filename: \"\",\n });\n }\n }\n\n _pushQueue(\n char: number,\n repeat: number,\n line: number | undefined,\n column: number | undefined,\n filename: string | undefined,\n ) {\n const cursor = this._queueCursor;\n if (cursor === this._queue.length) {\n this._allocQueue();\n }\n const item = this._queue[cursor];\n item.char = char;\n item.repeat = repeat;\n item.line = line;\n item.column = column;\n item.filename = filename;\n\n this._queueCursor++;\n }\n\n _popQueue(): QueueItem {\n if (this._queueCursor === 0) {\n throw new Error(\"Cannot pop from empty queue\");\n }\n return this._queue[--this._queueCursor];\n }\n\n /**\n * Get the final string output from the buffer, along with the sourcemap if one exists.\n */\n\n get() {\n this._flush();\n\n const map = this._map;\n const result = {\n // Whatever trim is used here should not execute a regex against the\n // source string since it may be arbitrarily large after all transformations\n code: (this._buf + this._str).trimRight(),\n // Decoded sourcemap is free to generate.\n decodedMap: map?.getDecoded(),\n // Used as a marker for backwards compatibility. We moved input map merging\n // into the generator. We cannot merge the input map a second time, so the\n // presence of this field tells us we've already done the work.\n get __mergedMap() {\n return this.map;\n },\n // Encoding the sourcemap is moderately CPU expensive.\n get map() {\n const resultMap = map ? map.get() : null;\n result.map = resultMap;\n return resultMap;\n },\n set map(value) {\n Object.defineProperty(result, \"map\", { value, writable: true });\n },\n // Retrieving the raw mappings is very memory intensive.\n get rawMappings() {\n const mappings = map?.getRawMappings();\n result.rawMappings = mappings;\n return mappings;\n },\n set rawMappings(value) {\n Object.defineProperty(result, \"rawMappings\", { value, writable: true });\n },\n };\n\n return result;\n }\n\n /**\n * Add a string to the buffer that cannot be reverted.\n */\n\n append(str: string, maybeNewline: boolean): void {\n this._flush();\n\n this._append(str, this._sourcePosition, maybeNewline);\n }\n\n appendChar(char: number): void {\n this._flush();\n this._appendChar(char, 1, this._sourcePosition);\n }\n\n /**\n * Add a string to the buffer than can be reverted.\n */\n queue(char: number): void {\n // Drop trailing spaces when a newline is inserted.\n if (char === charcodes.lineFeed) {\n while (this._queueCursor !== 0) {\n const char = this._queue[this._queueCursor - 1].char;\n if (char !== charcodes.space && char !== charcodes.tab) {\n break;\n }\n\n this._queueCursor--;\n }\n }\n\n const sourcePosition = this._sourcePosition;\n this._pushQueue(\n char,\n 1,\n sourcePosition.line,\n sourcePosition.column,\n sourcePosition.filename,\n );\n }\n\n /**\n * Same as queue, but this indentation will never have a sourcemap marker.\n */\n queueIndentation(char: number, repeat: number): void {\n this._pushQueue(char, repeat, undefined, undefined, undefined);\n }\n\n _flush(): void {\n const queueCursor = this._queueCursor;\n const queue = this._queue;\n for (let i = 0; i < queueCursor; i++) {\n const item: QueueItem = queue[i];\n this._appendChar(item.char, item.repeat, item);\n }\n this._queueCursor = 0;\n }\n\n _appendChar(\n char: number,\n repeat: number,\n sourcePos: InternalSourcePos,\n ): void {\n this._last = char;\n\n this._str +=\n repeat > 1\n ? String.fromCharCode(char).repeat(repeat)\n : String.fromCharCode(char);\n\n if (char !== charcodes.lineFeed) {\n this._mark(\n sourcePos.line,\n sourcePos.column,\n sourcePos.identifierName,\n sourcePos.identifierNamePos,\n sourcePos.filename,\n );\n this._position.column += repeat;\n } else {\n this._position.line++;\n this._position.column = 0;\n }\n\n if (this._canMarkIdName) {\n sourcePos.identifierName = undefined;\n sourcePos.identifierNamePos = undefined;\n }\n }\n\n _append(\n str: string,\n sourcePos: InternalSourcePos,\n maybeNewline: boolean,\n ): void {\n const len = str.length;\n const position = this._position;\n\n this._last = str.charCodeAt(len - 1);\n\n if (++this._appendCount > 4096) {\n +this._str; // Unexplainable huge performance boost. Ref: https://github.com/davidmarkclements/flatstr License: MIT\n this._buf += this._str;\n this._str = str;\n this._appendCount = 0;\n } else {\n this._str += str;\n }\n\n if (!maybeNewline && !this._map) {\n position.column += len;\n return;\n }\n\n const { column, identifierName, identifierNamePos, filename } = sourcePos;\n let line = sourcePos.line;\n\n if (\n (identifierName != null || identifierNamePos != null) &&\n this._canMarkIdName\n ) {\n sourcePos.identifierName = undefined;\n sourcePos.identifierNamePos = undefined;\n }\n\n // Search for newline chars. We search only for `\\n`, since both `\\r` and\n // `\\r\\n` are normalized to `\\n` during parse. We exclude `\\u2028` and\n // `\\u2029` for performance reasons, they're so uncommon that it's probably\n // ok. It's also unclear how other sourcemap utilities handle them...\n let i = str.indexOf(\"\\n\");\n let last = 0;\n\n // If the string starts with a newline char, then adding a mark is redundant.\n // This catches both \"no newlines\" and \"newline after several chars\".\n if (i !== 0) {\n this._mark(line, column, identifierName, identifierNamePos, filename);\n }\n\n // Now, find each remaining newline char in the string.\n while (i !== -1) {\n position.line++;\n position.column = 0;\n last = i + 1;\n\n // We mark the start of each line, which happens directly after this newline char\n // unless this is the last char.\n // When manually adding multi-line content (such as a comment), `line` will be `undefined`.\n if (last < len && line !== undefined) {\n this._mark(++line, 0, null, null, filename);\n }\n i = str.indexOf(\"\\n\", last);\n }\n position.column += len - last;\n }\n\n _mark(\n line: number | undefined,\n column: number | undefined,\n identifierName: string | undefined,\n identifierNamePos: Pos | undefined,\n filename: string | undefined,\n ): void {\n this._map?.mark(\n this._position,\n line,\n column,\n identifierName,\n identifierNamePos,\n filename,\n );\n }\n\n removeTrailingNewline(): void {\n const queueCursor = this._queueCursor;\n if (\n queueCursor !== 0 &&\n this._queue[queueCursor - 1].char === charcodes.lineFeed\n ) {\n this._queueCursor--;\n }\n }\n\n removeLastSemicolon(): void {\n const queueCursor = this._queueCursor;\n if (\n queueCursor !== 0 &&\n this._queue[queueCursor - 1].char === charcodes.semicolon\n ) {\n this._queueCursor--;\n }\n }\n\n getLastChar(): number {\n const queueCursor = this._queueCursor;\n return queueCursor !== 0 ? this._queue[queueCursor - 1].char : this._last;\n }\n\n /**\n * This will only detect at most 1 newline after a call to `flush()`,\n * but this has not been found so far, and an accurate count can be achieved if needed later.\n */\n getNewlineCount(): number {\n const queueCursor = this._queueCursor;\n let count = 0;\n if (queueCursor === 0) return this._last === charcodes.lineFeed ? 1 : 0;\n for (let i = queueCursor - 1; i >= 0; i--) {\n if (this._queue[i].char !== charcodes.lineFeed) {\n break;\n }\n count++;\n }\n return count === queueCursor && this._last === charcodes.lineFeed\n ? count + 1\n : count;\n }\n\n /**\n * check if current _last + queue ends with newline, return the character before newline\n *\n * @param {*} ch\n * @memberof Buffer\n */\n endsWithCharAndNewline(): number {\n const queue = this._queue;\n const queueCursor = this._queueCursor;\n if (queueCursor !== 0) {\n // every element in queue is one-length whitespace string\n const lastCp = queue[queueCursor - 1].char;\n if (lastCp !== charcodes.lineFeed) return;\n if (queueCursor > 1) {\n return queue[queueCursor - 2].char;\n } else {\n return this._last;\n }\n }\n // We assume that everything being matched is at most a single token plus some whitespace,\n // which everything currently is, but otherwise we'd have to expand _last or check _buf.\n }\n\n hasContent(): boolean {\n return this._queueCursor !== 0 || !!this._last;\n }\n\n /**\n * Certain sourcemap usecases expect mappings to be more accurate than\n * Babel's generic sourcemap handling allows. For now, we special-case\n * identifiers to allow for the primary cases to work.\n * The goal of this line is to ensure that the map output from Babel will\n * have an exact range on identifiers in the output code. Without this\n * line, Babel would potentially include some number of trailing tokens\n * that are printed after the identifier, but before another location has\n * been assigned.\n * This allows tooling like Rollup and Webpack to more accurately perform\n * their own transformations. Most importantly, this allows the import/export\n * transformations performed by those tools to loose less information when\n * applying their own transformations on top of the code and map results\n * generated by Babel itself.\n *\n * The primary example of this is the snippet:\n *\n * import mod from \"mod\";\n * mod();\n *\n * With this line, there will be one mapping range over \"mod\" and another\n * over \"();\", where previously it would have been a single mapping.\n */\n exactSource(loc: Loc | undefined, cb: () => void) {\n if (!this._map) {\n cb();\n return;\n }\n\n this.source(\"start\", loc);\n // @ts-expect-error identifierName is not defined\n const identifierName = loc.identifierName;\n const sourcePos = this._sourcePosition;\n if (identifierName) {\n this._canMarkIdName = false;\n sourcePos.identifierName = identifierName;\n }\n cb();\n\n if (identifierName) {\n this._canMarkIdName = true;\n sourcePos.identifierName = undefined;\n sourcePos.identifierNamePos = undefined;\n }\n this.source(\"end\", loc);\n }\n\n /**\n * Sets a given position as the current source location so generated code after this call\n * will be given this position in the sourcemap.\n */\n\n source(prop: \"start\" | \"end\", loc: Loc | undefined): void {\n if (!this._map) return;\n\n // Since this is called extremely often, we re-use the same _sourcePosition\n // object for the whole lifetime of the buffer.\n this._normalizePosition(prop, loc, 0, 0);\n }\n\n sourceWithOffset(\n prop: \"start\" | \"end\",\n loc: Loc | undefined,\n lineOffset: number,\n columnOffset: number,\n ): void {\n if (!this._map) return;\n\n this._normalizePosition(prop, loc, lineOffset, columnOffset);\n }\n\n /**\n * Call a callback with a specific source location\n */\n\n withSource(prop: \"start\" | \"end\", loc: Loc, cb: () => void): void {\n if (this._map) {\n this.source(prop, loc);\n }\n\n cb();\n }\n\n _normalizePosition(\n prop: \"start\" | \"end\",\n loc: Loc,\n lineOffset: number,\n columnOffset: number,\n ) {\n const pos = loc[prop];\n const target = this._sourcePosition;\n\n if (pos) {\n target.line = pos.line + lineOffset;\n target.column = pos.column + columnOffset;\n target.filename = loc.filename;\n }\n }\n\n getCurrentColumn(): number {\n const queue = this._queue;\n const queueCursor = this._queueCursor;\n\n let lastIndex = -1;\n let len = 0;\n for (let i = 0; i < queueCursor; i++) {\n const item = queue[i];\n if (item.char === charcodes.lineFeed) {\n lastIndex = len;\n }\n len += item.repeat;\n }\n\n return lastIndex === -1 ? this._position.column + len : len - 1 - lastIndex;\n }\n\n getCurrentLine(): number {\n let count = 0;\n\n const queue = this._queue;\n for (let i = 0; i < this._queueCursor; i++) {\n if (queue[i].char === charcodes.lineFeed) {\n count++;\n }\n }\n\n return this._position.line + count;\n }\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/base.js b/node_modules/@babel/generator/lib/generators/base.js index 2c54f7ae3..7dae635da 100644 --- a/node_modules/@babel/generator/lib/generators/base.js +++ b/node_modules/@babel/generator/lib/generators/base.js @@ -51,8 +51,7 @@ function BlockStatement(node) { this.printSequence(node.body, node, { indent: true }); - this.sourceWithOffset("end", node.loc, 0, -1); - this.rightBrace(); + this.rightBrace(node); } function Directive(node) { this.print(node.value, node); diff --git a/node_modules/@babel/generator/lib/generators/base.js.map b/node_modules/@babel/generator/lib/generators/base.js.map index 065b22a38..252e5117b 100644 --- a/node_modules/@babel/generator/lib/generators/base.js.map +++ b/node_modules/@babel/generator/lib/generators/base.js.map @@ -1 +1 @@ -{"version":3,"names":["File","node","program","print","interpreter","Program","_node$directives","noIndentInnerCommentsHere","printInnerComments","directivesLen","directives","length","_node$directives$trai","newline","body","printSequence","trailingCommentsLineOffset","trailingComments","BlockStatement","_node$directives2","token","_node$directives$trai2","indent","sourceWithOffset","loc","rightBrace","Directive","value","semicolon","unescapedSingleQuoteRE","unescapedDoubleQuoteRE","DirectiveLiteral","raw","getPossibleRaw","format","minified","undefined","test","Error","InterpreterDirective","Placeholder","name","expectedNode"],"sources":["../../src/generators/base.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport type * as t from \"@babel/types\";\n\nexport function File(this: Printer, node: t.File) {\n if (node.program) {\n // Print this here to ensure that Program node 'leadingComments' still\n // get printed after the hashbang.\n this.print(node.program.interpreter, node);\n }\n\n this.print(node.program, node);\n}\n\nexport function Program(this: Printer, node: t.Program) {\n // An empty Program doesn't have any inner tokens, so\n // we must explicitly print its inner comments.\n this.noIndentInnerCommentsHere();\n this.printInnerComments();\n\n const directivesLen = node.directives?.length;\n if (directivesLen) {\n const newline = node.body.length ? 2 : 1;\n this.printSequence(node.directives, node, {\n trailingCommentsLineOffset: newline,\n });\n if (!node.directives[directivesLen - 1].trailingComments?.length) {\n this.newline(newline);\n }\n }\n\n this.printSequence(node.body, node);\n}\n\nexport function BlockStatement(this: Printer, node: t.BlockStatement) {\n this.token(\"{\");\n\n const directivesLen = node.directives?.length;\n if (directivesLen) {\n const newline = node.body.length ? 2 : 1;\n this.printSequence(node.directives, node, {\n indent: true,\n trailingCommentsLineOffset: newline,\n });\n if (!node.directives[directivesLen - 1].trailingComments?.length) {\n this.newline(newline);\n }\n }\n\n this.printSequence(node.body, node, { indent: true });\n\n this.sourceWithOffset(\"end\", node.loc, 0, -1);\n\n this.rightBrace();\n}\n\nexport function Directive(this: Printer, node: t.Directive) {\n this.print(node.value, node);\n this.semicolon();\n}\n\n// These regexes match an even number of \\ followed by a quote\nconst unescapedSingleQuoteRE = /(?:^|[^\\\\])(?:\\\\\\\\)*'/;\nconst unescapedDoubleQuoteRE = /(?:^|[^\\\\])(?:\\\\\\\\)*\"/;\n\nexport function DirectiveLiteral(this: Printer, node: t.DirectiveLiteral) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.token(raw);\n return;\n }\n\n const { value } = node;\n\n // NOTE: In directives we can't change escapings,\n // because they change the behavior.\n // e.g. \"us\\x65 strict\" (\\x65 is e) is not a \"use strict\" directive.\n\n if (!unescapedDoubleQuoteRE.test(value)) {\n this.token(`\"${value}\"`);\n } else if (!unescapedSingleQuoteRE.test(value)) {\n this.token(`'${value}'`);\n } else {\n throw new Error(\n \"Malformed AST: it is not possible to print a directive containing\" +\n \" both unescaped single and double quotes.\",\n );\n }\n}\n\nexport function InterpreterDirective(\n this: Printer,\n node: t.InterpreterDirective,\n) {\n this.token(`#!${node.value}`);\n this.newline(1, true);\n}\n\nexport function Placeholder(this: Printer, node: t.Placeholder) {\n this.token(\"%%\");\n this.print(node.name);\n this.token(\"%%\");\n\n if (node.expectedNode === \"Statement\") {\n this.semicolon();\n }\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["File","node","program","print","interpreter","Program","_node$directives","noIndentInnerCommentsHere","printInnerComments","directivesLen","directives","length","_node$directives$trai","newline","body","printSequence","trailingCommentsLineOffset","trailingComments","BlockStatement","_node$directives2","token","_node$directives$trai2","indent","rightBrace","Directive","value","semicolon","unescapedSingleQuoteRE","unescapedDoubleQuoteRE","DirectiveLiteral","raw","getPossibleRaw","format","minified","undefined","test","Error","InterpreterDirective","Placeholder","name","expectedNode"],"sources":["../../src/generators/base.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport type * as t from \"@babel/types\";\n\nexport function File(this: Printer, node: t.File) {\n if (node.program) {\n // Print this here to ensure that Program node 'leadingComments' still\n // get printed after the hashbang.\n this.print(node.program.interpreter, node);\n }\n\n this.print(node.program, node);\n}\n\nexport function Program(this: Printer, node: t.Program) {\n // An empty Program doesn't have any inner tokens, so\n // we must explicitly print its inner comments.\n this.noIndentInnerCommentsHere();\n this.printInnerComments();\n\n const directivesLen = node.directives?.length;\n if (directivesLen) {\n const newline = node.body.length ? 2 : 1;\n this.printSequence(node.directives, node, {\n trailingCommentsLineOffset: newline,\n });\n if (!node.directives[directivesLen - 1].trailingComments?.length) {\n this.newline(newline);\n }\n }\n\n this.printSequence(node.body, node);\n}\n\nexport function BlockStatement(this: Printer, node: t.BlockStatement) {\n this.token(\"{\");\n\n const directivesLen = node.directives?.length;\n if (directivesLen) {\n const newline = node.body.length ? 2 : 1;\n this.printSequence(node.directives, node, {\n indent: true,\n trailingCommentsLineOffset: newline,\n });\n if (!node.directives[directivesLen - 1].trailingComments?.length) {\n this.newline(newline);\n }\n }\n\n this.printSequence(node.body, node, { indent: true });\n\n this.rightBrace(node);\n}\n\nexport function Directive(this: Printer, node: t.Directive) {\n this.print(node.value, node);\n this.semicolon();\n}\n\n// These regexes match an even number of \\ followed by a quote\nconst unescapedSingleQuoteRE = /(?:^|[^\\\\])(?:\\\\\\\\)*'/;\nconst unescapedDoubleQuoteRE = /(?:^|[^\\\\])(?:\\\\\\\\)*\"/;\n\nexport function DirectiveLiteral(this: Printer, node: t.DirectiveLiteral) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.token(raw);\n return;\n }\n\n const { value } = node;\n\n // NOTE: In directives we can't change escapings,\n // because they change the behavior.\n // e.g. \"us\\x65 strict\" (\\x65 is e) is not a \"use strict\" directive.\n\n if (!unescapedDoubleQuoteRE.test(value)) {\n this.token(`\"${value}\"`);\n } else if (!unescapedSingleQuoteRE.test(value)) {\n this.token(`'${value}'`);\n } else {\n throw new Error(\n \"Malformed AST: it is not possible to print a directive containing\" +\n \" both unescaped single and double quotes.\",\n );\n }\n}\n\nexport function InterpreterDirective(\n this: Printer,\n node: t.InterpreterDirective,\n) {\n this.token(`#!${node.value}`);\n this.newline(1, true);\n}\n\nexport function Placeholder(this: Printer, node: t.Placeholder) {\n this.token(\"%%\");\n this.print(node.name);\n this.token(\"%%\");\n\n if (node.expectedNode === \"Statement\") {\n this.semicolon();\n }\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/classes.js b/node_modules/@babel/generator/lib/generators/classes.js index b7435768d..e3dc0e816 100644 --- a/node_modules/@babel/generator/lib/generators/classes.js +++ b/node_modules/@babel/generator/lib/generators/classes.js @@ -58,12 +58,11 @@ function ClassBody(node) { this.tokenChar(125); } else { this.newline(); - this.indent(); - this.printSequence(node.body, node); - this.dedent(); + this.printSequence(node.body, node, { + indent: true + }); if (!this.endsWith(10)) this.newline(); - this.sourceWithOffset("end", node.loc, 0, -1); - this.rightBrace(); + this.rightBrace(node); } } function ClassProperty(node) { @@ -171,8 +170,7 @@ function StaticBlock(node) { this.printSequence(node.body, node, { indent: true }); - this.sourceWithOffset("end", node.loc, 0, -1); - this.rightBrace(); + this.rightBrace(node); } } diff --git a/node_modules/@babel/generator/lib/generators/classes.js.map b/node_modules/@babel/generator/lib/generators/classes.js.map index accee35f0..64411ed05 100644 --- a/node_modules/@babel/generator/lib/generators/classes.js.map +++ b/node_modules/@babel/generator/lib/generators/classes.js.map @@ -1 +1 @@ -{"version":3,"names":["_t","require","isExportDefaultDeclaration","isExportNamedDeclaration","ClassDeclaration","node","parent","inExport","_shouldPrintDecoratorsBeforeExport","printJoin","decorators","declare","word","space","abstract","id","print","typeParameters","superClass","superTypeParameters","implements","printList","body","ClassBody","token","length","newline","indent","printSequence","dedent","endsWith","sourceWithOffset","loc","rightBrace","ClassProperty","_node$key$loc","_node$key$loc$end","endLine","key","end","line","catchUp","tsPrintClassMemberModifiers","computed","_variance","optional","definite","typeAnnotation","value","semicolon","ClassAccessorProperty","_node$key$loc2","_node$key$loc2$end","ClassPrivateProperty","static","ClassMethod","_classMethodHead","ClassPrivateMethod","_node$key$loc3","_node$key$loc3$end","_methodHead","StaticBlock"],"sources":["../../src/generators/classes.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport {\n isExportDefaultDeclaration,\n isExportNamedDeclaration,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport * as charCodes from \"charcodes\";\n\nexport function ClassDeclaration(\n this: Printer,\n node: t.ClassDeclaration,\n parent: t.Node,\n) {\n const inExport =\n isExportDefaultDeclaration(parent) || isExportNamedDeclaration(parent);\n\n if (\n !inExport ||\n !this._shouldPrintDecoratorsBeforeExport(\n parent as t.ExportDeclaration & { declaration: t.ClassDeclaration },\n )\n ) {\n this.printJoin(node.decorators, node);\n }\n\n if (node.declare) {\n // TS\n this.word(\"declare\");\n this.space();\n }\n\n if (node.abstract) {\n // TS\n this.word(\"abstract\");\n this.space();\n }\n\n this.word(\"class\");\n\n if (node.id) {\n this.space();\n this.print(node.id, node);\n }\n\n this.print(node.typeParameters, node);\n\n if (node.superClass) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.print(node.superClass, node);\n this.print(node.superTypeParameters, node);\n }\n\n if (node.implements) {\n this.space();\n this.word(\"implements\");\n this.space();\n this.printList(node.implements, node);\n }\n\n this.space();\n this.print(node.body, node);\n}\n\nexport { ClassDeclaration as ClassExpression };\n\nexport function ClassBody(this: Printer, node: t.ClassBody) {\n this.token(\"{\");\n if (node.body.length === 0) {\n this.token(\"}\");\n } else {\n this.newline();\n\n this.indent();\n this.printSequence(node.body, node);\n this.dedent();\n\n if (!this.endsWith(charCodes.lineFeed)) this.newline();\n\n this.sourceWithOffset(\"end\", node.loc, 0, -1);\n\n this.rightBrace();\n }\n}\n\nexport function ClassProperty(this: Printer, node: t.ClassProperty) {\n this.printJoin(node.decorators, node);\n\n // catch up to property key, avoid line break\n // between member modifiers and the property key.\n const endLine = node.key.loc?.end?.line;\n if (endLine) this.catchUp(endLine);\n\n this.tsPrintClassMemberModifiers(node);\n\n if (node.computed) {\n this.token(\"[\");\n this.print(node.key, node);\n this.token(\"]\");\n } else {\n this._variance(node);\n this.print(node.key, node);\n }\n\n // TS\n if (node.optional) {\n this.token(\"?\");\n }\n if (node.definite) {\n this.token(\"!\");\n }\n\n this.print(node.typeAnnotation, node);\n if (node.value) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.value, node);\n }\n this.semicolon();\n}\n\nexport function ClassAccessorProperty(\n this: Printer,\n node: t.ClassAccessorProperty,\n) {\n this.printJoin(node.decorators, node);\n\n // catch up to property key, avoid line break\n // between member modifiers and the property key.\n const endLine = node.key.loc?.end?.line;\n if (endLine) this.catchUp(endLine);\n\n // TS does not support class accessor property yet\n this.tsPrintClassMemberModifiers(node);\n\n this.word(\"accessor\", true);\n this.space();\n\n if (node.computed) {\n this.token(\"[\");\n this.print(node.key, node);\n this.token(\"]\");\n } else {\n // Todo: Flow does not support class accessor property yet.\n this._variance(node);\n this.print(node.key, node);\n }\n\n // TS\n if (node.optional) {\n this.token(\"?\");\n }\n if (node.definite) {\n this.token(\"!\");\n }\n\n this.print(node.typeAnnotation, node);\n if (node.value) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.value, node);\n }\n this.semicolon();\n}\n\nexport function ClassPrivateProperty(\n this: Printer,\n node: t.ClassPrivateProperty,\n) {\n this.printJoin(node.decorators, node);\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this.print(node.key, node);\n this.print(node.typeAnnotation, node);\n if (node.value) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.value, node);\n }\n this.semicolon();\n}\n\nexport function ClassMethod(this: Printer, node: t.ClassMethod) {\n this._classMethodHead(node);\n this.space();\n this.print(node.body, node);\n}\n\nexport function ClassPrivateMethod(this: Printer, node: t.ClassPrivateMethod) {\n this._classMethodHead(node);\n this.space();\n this.print(node.body, node);\n}\n\nexport function _classMethodHead(\n this: Printer,\n node: t.ClassMethod | t.ClassPrivateMethod | t.TSDeclareMethod,\n) {\n this.printJoin(node.decorators, node);\n\n // catch up to method key, avoid line break\n // between member modifiers/method heads and the method key.\n const endLine = node.key.loc?.end?.line;\n if (endLine) this.catchUp(endLine);\n\n this.tsPrintClassMemberModifiers(node);\n this._methodHead(node);\n}\n\nexport function StaticBlock(this: Printer, node: t.StaticBlock) {\n this.word(\"static\");\n this.space();\n this.token(\"{\");\n if (node.body.length === 0) {\n this.token(\"}\");\n } else {\n this.newline();\n this.printSequence(node.body, node, {\n indent: true,\n });\n\n this.sourceWithOffset(\"end\", node.loc, 0, -1);\n\n this.rightBrace();\n }\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_t","require","isExportDefaultDeclaration","isExportNamedDeclaration","ClassDeclaration","node","parent","inExport","_shouldPrintDecoratorsBeforeExport","printJoin","decorators","declare","word","space","abstract","id","print","typeParameters","superClass","superTypeParameters","implements","printList","body","ClassBody","token","length","newline","printSequence","indent","endsWith","rightBrace","ClassProperty","_node$key$loc","_node$key$loc$end","endLine","key","loc","end","line","catchUp","tsPrintClassMemberModifiers","computed","_variance","optional","definite","typeAnnotation","value","semicolon","ClassAccessorProperty","_node$key$loc2","_node$key$loc2$end","ClassPrivateProperty","static","ClassMethod","_classMethodHead","ClassPrivateMethod","_node$key$loc3","_node$key$loc3$end","_methodHead","StaticBlock"],"sources":["../../src/generators/classes.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport {\n isExportDefaultDeclaration,\n isExportNamedDeclaration,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport * as charCodes from \"charcodes\";\n\nexport function ClassDeclaration(\n this: Printer,\n node: t.ClassDeclaration,\n parent: t.Node,\n) {\n const inExport =\n isExportDefaultDeclaration(parent) || isExportNamedDeclaration(parent);\n\n if (\n !inExport ||\n !this._shouldPrintDecoratorsBeforeExport(\n parent as t.ExportDeclaration & { declaration: t.ClassDeclaration },\n )\n ) {\n this.printJoin(node.decorators, node);\n }\n\n if (node.declare) {\n // TS\n this.word(\"declare\");\n this.space();\n }\n\n if (node.abstract) {\n // TS\n this.word(\"abstract\");\n this.space();\n }\n\n this.word(\"class\");\n\n if (node.id) {\n this.space();\n this.print(node.id, node);\n }\n\n this.print(node.typeParameters, node);\n\n if (node.superClass) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.print(node.superClass, node);\n this.print(node.superTypeParameters, node);\n }\n\n if (node.implements) {\n this.space();\n this.word(\"implements\");\n this.space();\n this.printList(node.implements, node);\n }\n\n this.space();\n this.print(node.body, node);\n}\n\nexport { ClassDeclaration as ClassExpression };\n\nexport function ClassBody(this: Printer, node: t.ClassBody) {\n this.token(\"{\");\n if (node.body.length === 0) {\n this.token(\"}\");\n } else {\n this.newline();\n\n this.printSequence(node.body, node, { indent: true });\n\n if (!this.endsWith(charCodes.lineFeed)) this.newline();\n\n this.rightBrace(node);\n }\n}\n\nexport function ClassProperty(this: Printer, node: t.ClassProperty) {\n this.printJoin(node.decorators, node);\n\n // catch up to property key, avoid line break\n // between member modifiers and the property key.\n const endLine = node.key.loc?.end?.line;\n if (endLine) this.catchUp(endLine);\n\n this.tsPrintClassMemberModifiers(node);\n\n if (node.computed) {\n this.token(\"[\");\n this.print(node.key, node);\n this.token(\"]\");\n } else {\n this._variance(node);\n this.print(node.key, node);\n }\n\n // TS\n if (node.optional) {\n this.token(\"?\");\n }\n if (node.definite) {\n this.token(\"!\");\n }\n\n this.print(node.typeAnnotation, node);\n if (node.value) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.value, node);\n }\n this.semicolon();\n}\n\nexport function ClassAccessorProperty(\n this: Printer,\n node: t.ClassAccessorProperty,\n) {\n this.printJoin(node.decorators, node);\n\n // catch up to property key, avoid line break\n // between member modifiers and the property key.\n const endLine = node.key.loc?.end?.line;\n if (endLine) this.catchUp(endLine);\n\n // TS does not support class accessor property yet\n this.tsPrintClassMemberModifiers(node);\n\n this.word(\"accessor\", true);\n this.space();\n\n if (node.computed) {\n this.token(\"[\");\n this.print(node.key, node);\n this.token(\"]\");\n } else {\n // Todo: Flow does not support class accessor property yet.\n this._variance(node);\n this.print(node.key, node);\n }\n\n // TS\n if (node.optional) {\n this.token(\"?\");\n }\n if (node.definite) {\n this.token(\"!\");\n }\n\n this.print(node.typeAnnotation, node);\n if (node.value) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.value, node);\n }\n this.semicolon();\n}\n\nexport function ClassPrivateProperty(\n this: Printer,\n node: t.ClassPrivateProperty,\n) {\n this.printJoin(node.decorators, node);\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this.print(node.key, node);\n this.print(node.typeAnnotation, node);\n if (node.value) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.value, node);\n }\n this.semicolon();\n}\n\nexport function ClassMethod(this: Printer, node: t.ClassMethod) {\n this._classMethodHead(node);\n this.space();\n this.print(node.body, node);\n}\n\nexport function ClassPrivateMethod(this: Printer, node: t.ClassPrivateMethod) {\n this._classMethodHead(node);\n this.space();\n this.print(node.body, node);\n}\n\nexport function _classMethodHead(\n this: Printer,\n node: t.ClassMethod | t.ClassPrivateMethod | t.TSDeclareMethod,\n) {\n this.printJoin(node.decorators, node);\n\n // catch up to method key, avoid line break\n // between member modifiers/method heads and the method key.\n const endLine = node.key.loc?.end?.line;\n if (endLine) this.catchUp(endLine);\n\n this.tsPrintClassMemberModifiers(node);\n this._methodHead(node);\n}\n\nexport function StaticBlock(this: Printer, node: t.StaticBlock) {\n this.word(\"static\");\n this.space();\n this.token(\"{\");\n if (node.body.length === 0) {\n this.token(\"}\");\n } else {\n this.newline();\n this.printSequence(node.body, node, {\n indent: true,\n });\n this.rightBrace(node);\n }\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/expressions.js b/node_modules/@babel/generator/lib/generators/expressions.js index 3eb7d3aaf..336e708b1 100644 --- a/node_modules/@babel/generator/lib/generators/expressions.js +++ b/node_modules/@babel/generator/lib/generators/expressions.js @@ -39,11 +39,14 @@ const { isNewExpression } = _t; function UnaryExpression(node) { - if (node.operator === "void" || node.operator === "delete" || node.operator === "typeof" || node.operator === "throw") { - this.word(node.operator); + const { + operator + } = node; + if (operator === "void" || operator === "delete" || operator === "typeof" || operator === "throw") { + this.word(operator); this.space(); } else { - this.token(node.operator); + this.token(operator); } this.print(node.argument, node); } @@ -59,7 +62,7 @@ function DoExpression(node) { function ParenthesizedExpression(node) { this.tokenChar(40); this.print(node.expression, node); - this.tokenChar(41); + this.rightParens(node); } function UpdateExpression(node) { if (node.prefix) { @@ -97,7 +100,7 @@ function NewExpression(node, parent) { } this.tokenChar(40); this.printList(node.arguments, node); - this.tokenChar(41); + this.rightParens(node); } function SequenceExpression(node) { this.printList(node.expressions, node); @@ -145,26 +148,32 @@ function Decorator(node) { this.newline(); } function OptionalMemberExpression(node) { + let { + computed + } = node; + const { + optional, + property + } = node; this.print(node.object, node); - if (!node.computed && isMemberExpression(node.property)) { + if (!computed && isMemberExpression(property)) { throw new TypeError("Got a MemberExpression for MemberExpression property"); } - let computed = node.computed; - if (isLiteral(node.property) && typeof node.property.value === "number") { + if (isLiteral(property) && typeof property.value === "number") { computed = true; } - if (node.optional) { + if (optional) { this.token("?."); } if (computed) { this.tokenChar(91); - this.print(node.property, node); + this.print(property, node); this.tokenChar(93); } else { - if (!node.optional) { + if (!optional) { this.tokenChar(46); } - this.print(node.property, node); + this.print(property, node); } } function OptionalCallExpression(node) { @@ -176,7 +185,7 @@ function OptionalCallExpression(node) { this.print(node.typeArguments, node); this.tokenChar(40); this.printList(node.arguments, node); - this.tokenChar(41); + this.rightParens(node); } function CallExpression(node) { this.print(node.callee, node); @@ -184,7 +193,7 @@ function CallExpression(node) { this.print(node.typeParameters, node); this.tokenChar(40); this.printList(node.arguments, node); - this.tokenChar(41); + this.rightParens(node); } function Import() { this.word("import"); @@ -294,8 +303,7 @@ function ModuleExpression(node) { } this.print(body, node); this.dedent(); - this.sourceWithOffset("end", node.loc, 0, -1); - this.rightBrace(); + this.rightBrace(node); } //# sourceMappingURL=expressions.js.map diff --git a/node_modules/@babel/generator/lib/generators/expressions.js.map b/node_modules/@babel/generator/lib/generators/expressions.js.map index a9619b376..11533b569 100644 --- a/node_modules/@babel/generator/lib/generators/expressions.js.map +++ b/node_modules/@babel/generator/lib/generators/expressions.js.map @@ -1 +1 @@ -{"version":3,"names":["_t","require","n","isCallExpression","isLiteral","isMemberExpression","isNewExpression","UnaryExpression","node","operator","word","space","token","print","argument","DoExpression","async","body","ParenthesizedExpression","expression","UpdateExpression","prefix","printTerminatorless","ConditionalExpression","test","consequent","alternate","NewExpression","parent","callee","format","minified","arguments","length","optional","typeArguments","typeParameters","printList","SequenceExpression","expressions","ThisExpression","Super","isDecoratorMemberExpression","type","computed","property","object","shouldParenthesizeDecoratorExpression","_shouldPrintDecoratorsBeforeExport","decoratorsBeforeExport","start","declaration","Decorator","newline","OptionalMemberExpression","TypeError","value","OptionalCallExpression","CallExpression","Import","AwaitExpression","YieldExpression","delegate","EmptyStatement","semicolon","ExpressionStatement","AssignmentPattern","left","typeAnnotation","right","AssignmentExpression","parens","inForStatementInitCounter","needsParens","BindExpression","MemberExpression","MetaProperty","meta","PrivateName","id","V8IntrinsicIdentifier","name","ModuleExpression","indent","directives","dedent","sourceWithOffset","loc","rightBrace"],"sources":["../../src/generators/expressions.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport {\n isCallExpression,\n isLiteral,\n isMemberExpression,\n isNewExpression,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport * as n from \"../node\";\n\nexport function UnaryExpression(this: Printer, node: t.UnaryExpression) {\n if (\n node.operator === \"void\" ||\n node.operator === \"delete\" ||\n node.operator === \"typeof\" ||\n // throwExpressions\n node.operator === \"throw\"\n ) {\n this.word(node.operator);\n this.space();\n } else {\n this.token(node.operator);\n }\n\n this.print(node.argument, node);\n}\n\nexport function DoExpression(this: Printer, node: t.DoExpression) {\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n this.word(\"do\");\n this.space();\n this.print(node.body, node);\n}\n\nexport function ParenthesizedExpression(\n this: Printer,\n node: t.ParenthesizedExpression,\n) {\n this.token(\"(\");\n this.print(node.expression, node);\n this.token(\")\");\n}\n\nexport function UpdateExpression(this: Printer, node: t.UpdateExpression) {\n if (node.prefix) {\n this.token(node.operator);\n this.print(node.argument, node);\n } else {\n this.printTerminatorless(node.argument, node, true);\n this.token(node.operator);\n }\n}\n\nexport function ConditionalExpression(\n this: Printer,\n node: t.ConditionalExpression,\n) {\n this.print(node.test, node);\n this.space();\n this.token(\"?\");\n this.space();\n this.print(node.consequent, node);\n this.space();\n this.token(\":\");\n this.space();\n this.print(node.alternate, node);\n}\n\nexport function NewExpression(\n this: Printer,\n node: t.NewExpression,\n parent: t.Node,\n) {\n this.word(\"new\");\n this.space();\n this.print(node.callee, node);\n if (\n this.format.minified &&\n node.arguments.length === 0 &&\n !node.optional &&\n !isCallExpression(parent, { callee: node }) &&\n !isMemberExpression(parent) &&\n !isNewExpression(parent)\n ) {\n return;\n }\n\n this.print(node.typeArguments, node); // Flow\n this.print(node.typeParameters, node); // TS\n\n if (node.optional) {\n // TODO: This can never happen\n this.token(\"?.\");\n }\n this.token(\"(\");\n this.printList(node.arguments, node);\n this.token(\")\");\n}\n\nexport function SequenceExpression(this: Printer, node: t.SequenceExpression) {\n this.printList(node.expressions, node);\n}\n\nexport function ThisExpression(this: Printer) {\n this.word(\"this\");\n}\n\nexport function Super(this: Printer) {\n this.word(\"super\");\n}\n\nfunction isDecoratorMemberExpression(\n node: t.Expression | t.Super | t.V8IntrinsicIdentifier,\n): boolean {\n switch (node.type) {\n case \"Identifier\":\n return true;\n case \"MemberExpression\":\n return (\n !node.computed &&\n node.property.type === \"Identifier\" &&\n isDecoratorMemberExpression(node.object)\n );\n default:\n return false;\n }\n}\nfunction shouldParenthesizeDecoratorExpression(\n node: t.Expression | t.Super | t.V8IntrinsicIdentifier,\n) {\n if (node.type === \"ParenthesizedExpression\") {\n // We didn't check extra?.parenthesized here because we don't track decorators in needsParen\n return false;\n }\n return !isDecoratorMemberExpression(\n node.type === \"CallExpression\" ? node.callee : node,\n );\n}\n\nexport function _shouldPrintDecoratorsBeforeExport(\n this: Printer,\n node: t.ExportDeclaration & { declaration: t.ClassDeclaration },\n) {\n if (typeof this.format.decoratorsBeforeExport === \"boolean\") {\n return this.format.decoratorsBeforeExport;\n }\n return (\n typeof node.start === \"number\" && node.start === node.declaration.start\n );\n}\n\nexport function Decorator(this: Printer, node: t.Decorator) {\n this.token(\"@\");\n const { expression } = node;\n if (shouldParenthesizeDecoratorExpression(expression)) {\n this.token(\"(\");\n this.print(expression, node);\n this.token(\")\");\n } else {\n this.print(expression, node);\n }\n this.newline();\n}\n\nexport function OptionalMemberExpression(\n this: Printer,\n node: t.OptionalMemberExpression,\n) {\n this.print(node.object, node);\n\n if (!node.computed && isMemberExpression(node.property)) {\n throw new TypeError(\"Got a MemberExpression for MemberExpression property\");\n }\n\n let computed = node.computed;\n // @ts-expect-error todo(flow->ts) maybe instead of typeof check specific literal types?\n if (isLiteral(node.property) && typeof node.property.value === \"number\") {\n computed = true;\n }\n if (node.optional) {\n this.token(\"?.\");\n }\n\n if (computed) {\n this.token(\"[\");\n this.print(node.property, node);\n this.token(\"]\");\n } else {\n if (!node.optional) {\n this.token(\".\");\n }\n this.print(node.property, node);\n }\n}\n\nexport function OptionalCallExpression(\n this: Printer,\n node: t.OptionalCallExpression,\n) {\n this.print(node.callee, node);\n\n this.print(node.typeParameters, node); // TS\n\n if (node.optional) {\n this.token(\"?.\");\n }\n\n this.print(node.typeArguments, node); // Flow\n\n this.token(\"(\");\n this.printList(node.arguments, node);\n this.token(\")\");\n}\n\nexport function CallExpression(this: Printer, node: t.CallExpression) {\n this.print(node.callee, node);\n\n this.print(node.typeArguments, node); // Flow\n this.print(node.typeParameters, node); // TS\n this.token(\"(\");\n this.printList(node.arguments, node);\n this.token(\")\");\n}\n\nexport function Import(this: Printer) {\n this.word(\"import\");\n}\n\nexport function AwaitExpression(this: Printer, node: t.AwaitExpression) {\n this.word(\"await\");\n\n if (node.argument) {\n this.space();\n this.printTerminatorless(node.argument, node, false);\n }\n}\n\nexport function YieldExpression(this: Printer, node: t.YieldExpression) {\n this.word(\"yield\", true);\n\n if (node.delegate) {\n this.token(\"*\");\n if (node.argument) {\n this.space();\n // line terminators are allowed after yield*\n this.print(node.argument, node);\n }\n } else {\n if (node.argument) {\n this.space();\n this.printTerminatorless(node.argument, node, false);\n }\n }\n}\n\nexport function EmptyStatement(this: Printer) {\n this.semicolon(true /* force */);\n}\n\nexport function ExpressionStatement(\n this: Printer,\n node: t.ExpressionStatement,\n) {\n this.print(node.expression, node);\n this.semicolon();\n}\n\nexport function AssignmentPattern(this: Printer, node: t.AssignmentPattern) {\n this.print(node.left, node);\n // @ts-expect-error todo(flow->ts) property present on some of the types in union but not all\n if (node.left.optional) this.token(\"?\");\n // @ts-expect-error todo(flow->ts) property present on some of the types in union but not all\n this.print(node.left.typeAnnotation, node);\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.right, node);\n}\n\nexport function AssignmentExpression(\n this: Printer,\n node: t.AssignmentExpression,\n parent: t.Node,\n) {\n // Somewhere inside a for statement `init` node but doesn't usually\n // needs a paren except for `in` expressions: `for (a in b ? a : b;;)`\n const parens =\n this.inForStatementInitCounter &&\n node.operator === \"in\" &&\n !n.needsParens(node, parent);\n\n if (parens) {\n this.token(\"(\");\n }\n\n this.print(node.left, node);\n\n this.space();\n if (node.operator === \"in\" || node.operator === \"instanceof\") {\n this.word(node.operator);\n } else {\n this.token(node.operator);\n }\n this.space();\n\n this.print(node.right, node);\n\n if (parens) {\n this.token(\")\");\n }\n}\n\nexport function BindExpression(this: Printer, node: t.BindExpression) {\n this.print(node.object, node);\n this.token(\"::\");\n this.print(node.callee, node);\n}\n\nexport {\n AssignmentExpression as BinaryExpression,\n AssignmentExpression as LogicalExpression,\n};\n\nexport function MemberExpression(this: Printer, node: t.MemberExpression) {\n this.print(node.object, node);\n\n if (!node.computed && isMemberExpression(node.property)) {\n throw new TypeError(\"Got a MemberExpression for MemberExpression property\");\n }\n\n let computed = node.computed;\n // @ts-expect-error todo(flow->ts) maybe use specific literal types\n if (isLiteral(node.property) && typeof node.property.value === \"number\") {\n computed = true;\n }\n\n if (computed) {\n this.token(\"[\");\n this.print(node.property, node);\n this.token(\"]\");\n } else {\n this.token(\".\");\n this.print(node.property, node);\n }\n}\n\nexport function MetaProperty(this: Printer, node: t.MetaProperty) {\n this.print(node.meta, node);\n this.token(\".\");\n this.print(node.property, node);\n}\n\nexport function PrivateName(this: Printer, node: t.PrivateName) {\n this.token(\"#\");\n this.print(node.id, node);\n}\n\nexport function V8IntrinsicIdentifier(\n this: Printer,\n node: t.V8IntrinsicIdentifier,\n) {\n this.token(\"%\");\n this.word(node.name);\n}\n\nexport function ModuleExpression(this: Printer, node: t.ModuleExpression) {\n this.word(\"module\", true);\n this.space();\n this.token(\"{\");\n this.indent();\n const { body } = node;\n if (body.body.length || body.directives.length) {\n this.newline();\n }\n this.print(body, node);\n this.dedent();\n this.sourceWithOffset(\"end\", node.loc, 0, -1);\n this.rightBrace();\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,EAAA,GAAAC,OAAA;AAOA,IAAAC,CAAA,GAAAD,OAAA;AAA6B;EAN3BE,gBAAgB;EAChBC,SAAS;EACTC,kBAAkB;EAClBC;AAAe,IAAAN,EAAA;AAKV,SAASO,eAAeA,CAAgBC,IAAuB,EAAE;EACtE,IACEA,IAAI,CAACC,QAAQ,KAAK,MAAM,IACxBD,IAAI,CAACC,QAAQ,KAAK,QAAQ,IAC1BD,IAAI,CAACC,QAAQ,KAAK,QAAQ,IAE1BD,IAAI,CAACC,QAAQ,KAAK,OAAO,EACzB;IACA,IAAI,CAACC,IAAI,CAACF,IAAI,CAACC,QAAQ,CAAC;IACxB,IAAI,CAACE,KAAK,EAAE;EACd,CAAC,MAAM;IACL,IAAI,CAACC,KAAK,CAACJ,IAAI,CAACC,QAAQ,CAAC;EAC3B;EAEA,IAAI,CAACI,KAAK,CAACL,IAAI,CAACM,QAAQ,EAAEN,IAAI,CAAC;AACjC;AAEO,SAASO,YAAYA,CAAgBP,IAAoB,EAAE;EAChE,IAAIA,IAAI,CAACQ,KAAK,EAAE;IACd,IAAI,CAACN,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;IACxB,IAAI,CAACC,KAAK,EAAE;EACd;EACA,IAAI,CAACD,IAAI,CAAC,IAAI,CAAC;EACf,IAAI,CAACC,KAAK,EAAE;EACZ,IAAI,CAACE,KAAK,CAACL,IAAI,CAACS,IAAI,EAAET,IAAI,CAAC;AAC7B;AAEO,SAASU,uBAAuBA,CAErCV,IAA+B,EAC/B;EACA,IAAI,CAACI,SAAK,IAAK;EACf,IAAI,CAACC,KAAK,CAACL,IAAI,CAACW,UAAU,EAAEX,IAAI,CAAC;EACjC,IAAI,CAACI,SAAK,IAAK;AACjB;AAEO,SAASQ,gBAAgBA,CAAgBZ,IAAwB,EAAE;EACxE,IAAIA,IAAI,CAACa,MAAM,EAAE;IACf,IAAI,CAACT,KAAK,CAACJ,IAAI,CAACC,QAAQ,CAAC;IACzB,IAAI,CAACI,KAAK,CAACL,IAAI,CAACM,QAAQ,EAAEN,IAAI,CAAC;EACjC,CAAC,MAAM;IACL,IAAI,CAACc,mBAAmB,CAACd,IAAI,CAACM,QAAQ,EAAEN,IAAI,EAAE,IAAI,CAAC;IACnD,IAAI,CAACI,KAAK,CAACJ,IAAI,CAACC,QAAQ,CAAC;EAC3B;AACF;AAEO,SAASc,qBAAqBA,CAEnCf,IAA6B,EAC7B;EACA,IAAI,CAACK,KAAK,CAACL,IAAI,CAACgB,IAAI,EAAEhB,IAAI,CAAC;EAC3B,IAAI,CAACG,KAAK,EAAE;EACZ,IAAI,CAACC,SAAK,IAAK;EACf,IAAI,CAACD,KAAK,EAAE;EACZ,IAAI,CAACE,KAAK,CAACL,IAAI,CAACiB,UAAU,EAAEjB,IAAI,CAAC;EACjC,IAAI,CAACG,KAAK,EAAE;EACZ,IAAI,CAACC,SAAK,IAAK;EACf,IAAI,CAACD,KAAK,EAAE;EACZ,IAAI,CAACE,KAAK,CAACL,IAAI,CAACkB,SAAS,EAAElB,IAAI,CAAC;AAClC;AAEO,SAASmB,aAAaA,CAE3BnB,IAAqB,EACrBoB,MAAc,EACd;EACA,IAAI,CAAClB,IAAI,CAAC,KAAK,CAAC;EAChB,IAAI,CAACC,KAAK,EAAE;EACZ,IAAI,CAACE,KAAK,CAACL,IAAI,CAACqB,MAAM,EAAErB,IAAI,CAAC;EAC7B,IACE,IAAI,CAACsB,MAAM,CAACC,QAAQ,IACpBvB,IAAI,CAACwB,SAAS,CAACC,MAAM,KAAK,CAAC,IAC3B,CAACzB,IAAI,CAAC0B,QAAQ,IACd,CAAC/B,gBAAgB,CAACyB,MAAM,EAAE;IAAEC,MAAM,EAAErB;EAAK,CAAC,CAAC,IAC3C,CAACH,kBAAkB,CAACuB,MAAM,CAAC,IAC3B,CAACtB,eAAe,CAACsB,MAAM,CAAC,EACxB;IACA;EACF;EAEA,IAAI,CAACf,KAAK,CAACL,IAAI,CAAC2B,aAAa,EAAE3B,IAAI,CAAC;EACpC,IAAI,CAACK,KAAK,CAACL,IAAI,CAAC4B,cAAc,EAAE5B,IAAI,CAAC;EAErC,IAAIA,IAAI,CAAC0B,QAAQ,EAAE;IAEjB,IAAI,CAACtB,KAAK,CAAC,IAAI,CAAC;EAClB;EACA,IAAI,CAACA,SAAK,IAAK;EACf,IAAI,CAACyB,SAAS,CAAC7B,IAAI,CAACwB,SAAS,EAAExB,IAAI,CAAC;EACpC,IAAI,CAACI,SAAK,IAAK;AACjB;AAEO,SAAS0B,kBAAkBA,CAAgB9B,IAA0B,EAAE;EAC5E,IAAI,CAAC6B,SAAS,CAAC7B,IAAI,CAAC+B,WAAW,EAAE/B,IAAI,CAAC;AACxC;AAEO,SAASgC,cAAcA,CAAA,EAAgB;EAC5C,IAAI,CAAC9B,IAAI,CAAC,MAAM,CAAC;AACnB;AAEO,SAAS+B,KAAKA,CAAA,EAAgB;EACnC,IAAI,CAAC/B,IAAI,CAAC,OAAO,CAAC;AACpB;AAEA,SAASgC,2BAA2BA,CAClClC,IAAsD,EAC7C;EACT,QAAQA,IAAI,CAACmC,IAAI;IACf,KAAK,YAAY;MACf,OAAO,IAAI;IACb,KAAK,kBAAkB;MACrB,OACE,CAACnC,IAAI,CAACoC,QAAQ,IACdpC,IAAI,CAACqC,QAAQ,CAACF,IAAI,KAAK,YAAY,IACnCD,2BAA2B,CAAClC,IAAI,CAACsC,MAAM,CAAC;IAE5C;MACE,OAAO,KAAK;EAAC;AAEnB;AACA,SAASC,qCAAqCA,CAC5CvC,IAAsD,EACtD;EACA,IAAIA,IAAI,CAACmC,IAAI,KAAK,yBAAyB,EAAE;IAE3C,OAAO,KAAK;EACd;EACA,OAAO,CAACD,2BAA2B,CACjClC,IAAI,CAACmC,IAAI,KAAK,gBAAgB,GAAGnC,IAAI,CAACqB,MAAM,GAAGrB,IAAI,CACpD;AACH;AAEO,SAASwC,kCAAkCA,CAEhDxC,IAA+D,EAC/D;EACA,IAAI,OAAO,IAAI,CAACsB,MAAM,CAACmB,sBAAsB,KAAK,SAAS,EAAE;IAC3D,OAAO,IAAI,CAACnB,MAAM,CAACmB,sBAAsB;EAC3C;EACA,OACE,OAAOzC,IAAI,CAAC0C,KAAK,KAAK,QAAQ,IAAI1C,IAAI,CAAC0C,KAAK,KAAK1C,IAAI,CAAC2C,WAAW,CAACD,KAAK;AAE3E;AAEO,SAASE,SAASA,CAAgB5C,IAAiB,EAAE;EAC1D,IAAI,CAACI,SAAK,IAAK;EACf,MAAM;IAAEO;EAAW,CAAC,GAAGX,IAAI;EAC3B,IAAIuC,qCAAqC,CAAC5B,UAAU,CAAC,EAAE;IACrD,IAAI,CAACP,SAAK,IAAK;IACf,IAAI,CAACC,KAAK,CAACM,UAAU,EAAEX,IAAI,CAAC;IAC5B,IAAI,CAACI,SAAK,IAAK;EACjB,CAAC,MAAM;IACL,IAAI,CAACC,KAAK,CAACM,UAAU,EAAEX,IAAI,CAAC;EAC9B;EACA,IAAI,CAAC6C,OAAO,EAAE;AAChB;AAEO,SAASC,wBAAwBA,CAEtC9C,IAAgC,EAChC;EACA,IAAI,CAACK,KAAK,CAACL,IAAI,CAACsC,MAAM,EAAEtC,IAAI,CAAC;EAE7B,IAAI,CAACA,IAAI,CAACoC,QAAQ,IAAIvC,kBAAkB,CAACG,IAAI,CAACqC,QAAQ,CAAC,EAAE;IACvD,MAAM,IAAIU,SAAS,CAAC,sDAAsD,CAAC;EAC7E;EAEA,IAAIX,QAAQ,GAAGpC,IAAI,CAACoC,QAAQ;EAE5B,IAAIxC,SAAS,CAACI,IAAI,CAACqC,QAAQ,CAAC,IAAI,OAAOrC,IAAI,CAACqC,QAAQ,CAACW,KAAK,KAAK,QAAQ,EAAE;IACvEZ,QAAQ,GAAG,IAAI;EACjB;EACA,IAAIpC,IAAI,CAAC0B,QAAQ,EAAE;IACjB,IAAI,CAACtB,KAAK,CAAC,IAAI,CAAC;EAClB;EAEA,IAAIgC,QAAQ,EAAE;IACZ,IAAI,CAAChC,SAAK,IAAK;IACf,IAAI,CAACC,KAAK,CAACL,IAAI,CAACqC,QAAQ,EAAErC,IAAI,CAAC;IAC/B,IAAI,CAACI,SAAK,IAAK;EACjB,CAAC,MAAM;IACL,IAAI,CAACJ,IAAI,CAAC0B,QAAQ,EAAE;MAClB,IAAI,CAACtB,SAAK,IAAK;IACjB;IACA,IAAI,CAACC,KAAK,CAACL,IAAI,CAACqC,QAAQ,EAAErC,IAAI,CAAC;EACjC;AACF;AAEO,SAASiD,sBAAsBA,CAEpCjD,IAA8B,EAC9B;EACA,IAAI,CAACK,KAAK,CAACL,IAAI,CAACqB,MAAM,EAAErB,IAAI,CAAC;EAE7B,IAAI,CAACK,KAAK,CAACL,IAAI,CAAC4B,cAAc,EAAE5B,IAAI,CAAC;EAErC,IAAIA,IAAI,CAAC0B,QAAQ,EAAE;IACjB,IAAI,CAACtB,KAAK,CAAC,IAAI,CAAC;EAClB;EAEA,IAAI,CAACC,KAAK,CAACL,IAAI,CAAC2B,aAAa,EAAE3B,IAAI,CAAC;EAEpC,IAAI,CAACI,SAAK,IAAK;EACf,IAAI,CAACyB,SAAS,CAAC7B,IAAI,CAACwB,SAAS,EAAExB,IAAI,CAAC;EACpC,IAAI,CAACI,SAAK,IAAK;AACjB;AAEO,SAAS8C,cAAcA,CAAgBlD,IAAsB,EAAE;EACpE,IAAI,CAACK,KAAK,CAACL,IAAI,CAACqB,MAAM,EAAErB,IAAI,CAAC;EAE7B,IAAI,CAACK,KAAK,CAACL,IAAI,CAAC2B,aAAa,EAAE3B,IAAI,CAAC;EACpC,IAAI,CAACK,KAAK,CAACL,IAAI,CAAC4B,cAAc,EAAE5B,IAAI,CAAC;EACrC,IAAI,CAACI,SAAK,IAAK;EACf,IAAI,CAACyB,SAAS,CAAC7B,IAAI,CAACwB,SAAS,EAAExB,IAAI,CAAC;EACpC,IAAI,CAACI,SAAK,IAAK;AACjB;AAEO,SAAS+C,MAAMA,CAAA,EAAgB;EACpC,IAAI,CAACjD,IAAI,CAAC,QAAQ,CAAC;AACrB;AAEO,SAASkD,eAAeA,CAAgBpD,IAAuB,EAAE;EACtE,IAAI,CAACE,IAAI,CAAC,OAAO,CAAC;EAElB,IAAIF,IAAI,CAACM,QAAQ,EAAE;IACjB,IAAI,CAACH,KAAK,EAAE;IACZ,IAAI,CAACW,mBAAmB,CAACd,IAAI,CAACM,QAAQ,EAAEN,IAAI,EAAE,KAAK,CAAC;EACtD;AACF;AAEO,SAASqD,eAAeA,CAAgBrD,IAAuB,EAAE;EACtE,IAAI,CAACE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;EAExB,IAAIF,IAAI,CAACsD,QAAQ,EAAE;IACjB,IAAI,CAAClD,SAAK,IAAK;IACf,IAAIJ,IAAI,CAACM,QAAQ,EAAE;MACjB,IAAI,CAACH,KAAK,EAAE;MAEZ,IAAI,CAACE,KAAK,CAACL,IAAI,CAACM,QAAQ,EAAEN,IAAI,CAAC;IACjC;EACF,CAAC,MAAM;IACL,IAAIA,IAAI,CAACM,QAAQ,EAAE;MACjB,IAAI,CAACH,KAAK,EAAE;MACZ,IAAI,CAACW,mBAAmB,CAACd,IAAI,CAACM,QAAQ,EAAEN,IAAI,EAAE,KAAK,CAAC;IACtD;EACF;AACF;AAEO,SAASuD,cAAcA,CAAA,EAAgB;EAC5C,IAAI,CAACC,SAAS,CAAC,IAAI,CAAa;AAClC;AAEO,SAASC,mBAAmBA,CAEjCzD,IAA2B,EAC3B;EACA,IAAI,CAACK,KAAK,CAACL,IAAI,CAACW,UAAU,EAAEX,IAAI,CAAC;EACjC,IAAI,CAACwD,SAAS,EAAE;AAClB;AAEO,SAASE,iBAAiBA,CAAgB1D,IAAyB,EAAE;EAC1E,IAAI,CAACK,KAAK,CAACL,IAAI,CAAC2D,IAAI,EAAE3D,IAAI,CAAC;EAE3B,IAAIA,IAAI,CAAC2D,IAAI,CAACjC,QAAQ,EAAE,IAAI,CAACtB,SAAK,IAAK;EAEvC,IAAI,CAACC,KAAK,CAACL,IAAI,CAAC2D,IAAI,CAACC,cAAc,EAAE5D,IAAI,CAAC;EAC1C,IAAI,CAACG,KAAK,EAAE;EACZ,IAAI,CAACC,SAAK,IAAK;EACf,IAAI,CAACD,KAAK,EAAE;EACZ,IAAI,CAACE,KAAK,CAACL,IAAI,CAAC6D,KAAK,EAAE7D,IAAI,CAAC;AAC9B;AAEO,SAAS8D,oBAAoBA,CAElC9D,IAA4B,EAC5BoB,MAAc,EACd;EAGA,MAAM2C,MAAM,GACV,IAAI,CAACC,yBAAyB,IAC9BhE,IAAI,CAACC,QAAQ,KAAK,IAAI,IACtB,CAACP,CAAC,CAACuE,WAAW,CAACjE,IAAI,EAAEoB,MAAM,CAAC;EAE9B,IAAI2C,MAAM,EAAE;IACV,IAAI,CAAC3D,SAAK,IAAK;EACjB;EAEA,IAAI,CAACC,KAAK,CAACL,IAAI,CAAC2D,IAAI,EAAE3D,IAAI,CAAC;EAE3B,IAAI,CAACG,KAAK,EAAE;EACZ,IAAIH,IAAI,CAACC,QAAQ,KAAK,IAAI,IAAID,IAAI,CAACC,QAAQ,KAAK,YAAY,EAAE;IAC5D,IAAI,CAACC,IAAI,CAACF,IAAI,CAACC,QAAQ,CAAC;EAC1B,CAAC,MAAM;IACL,IAAI,CAACG,KAAK,CAACJ,IAAI,CAACC,QAAQ,CAAC;EAC3B;EACA,IAAI,CAACE,KAAK,EAAE;EAEZ,IAAI,CAACE,KAAK,CAACL,IAAI,CAAC6D,KAAK,EAAE7D,IAAI,CAAC;EAE5B,IAAI+D,MAAM,EAAE;IACV,IAAI,CAAC3D,SAAK,IAAK;EACjB;AACF;AAEO,SAAS8D,cAAcA,CAAgBlE,IAAsB,EAAE;EACpE,IAAI,CAACK,KAAK,CAACL,IAAI,CAACsC,MAAM,EAAEtC,IAAI,CAAC;EAC7B,IAAI,CAACI,KAAK,CAAC,IAAI,CAAC;EAChB,IAAI,CAACC,KAAK,CAACL,IAAI,CAACqB,MAAM,EAAErB,IAAI,CAAC;AAC/B;AAOO,SAASmE,gBAAgBA,CAAgBnE,IAAwB,EAAE;EACxE,IAAI,CAACK,KAAK,CAACL,IAAI,CAACsC,MAAM,EAAEtC,IAAI,CAAC;EAE7B,IAAI,CAACA,IAAI,CAACoC,QAAQ,IAAIvC,kBAAkB,CAACG,IAAI,CAACqC,QAAQ,CAAC,EAAE;IACvD,MAAM,IAAIU,SAAS,CAAC,sDAAsD,CAAC;EAC7E;EAEA,IAAIX,QAAQ,GAAGpC,IAAI,CAACoC,QAAQ;EAE5B,IAAIxC,SAAS,CAACI,IAAI,CAACqC,QAAQ,CAAC,IAAI,OAAOrC,IAAI,CAACqC,QAAQ,CAACW,KAAK,KAAK,QAAQ,EAAE;IACvEZ,QAAQ,GAAG,IAAI;EACjB;EAEA,IAAIA,QAAQ,EAAE;IACZ,IAAI,CAAChC,SAAK,IAAK;IACf,IAAI,CAACC,KAAK,CAACL,IAAI,CAACqC,QAAQ,EAAErC,IAAI,CAAC;IAC/B,IAAI,CAACI,SAAK,IAAK;EACjB,CAAC,MAAM;IACL,IAAI,CAACA,SAAK,IAAK;IACf,IAAI,CAACC,KAAK,CAACL,IAAI,CAACqC,QAAQ,EAAErC,IAAI,CAAC;EACjC;AACF;AAEO,SAASoE,YAAYA,CAAgBpE,IAAoB,EAAE;EAChE,IAAI,CAACK,KAAK,CAACL,IAAI,CAACqE,IAAI,EAAErE,IAAI,CAAC;EAC3B,IAAI,CAACI,SAAK,IAAK;EACf,IAAI,CAACC,KAAK,CAACL,IAAI,CAACqC,QAAQ,EAAErC,IAAI,CAAC;AACjC;AAEO,SAASsE,WAAWA,CAAgBtE,IAAmB,EAAE;EAC9D,IAAI,CAACI,SAAK,IAAK;EACf,IAAI,CAACC,KAAK,CAACL,IAAI,CAACuE,EAAE,EAAEvE,IAAI,CAAC;AAC3B;AAEO,SAASwE,qBAAqBA,CAEnCxE,IAA6B,EAC7B;EACA,IAAI,CAACI,SAAK,IAAK;EACf,IAAI,CAACF,IAAI,CAACF,IAAI,CAACyE,IAAI,CAAC;AACtB;AAEO,SAASC,gBAAgBA,CAAgB1E,IAAwB,EAAE;EACxE,IAAI,CAACE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;EACzB,IAAI,CAACC,KAAK,EAAE;EACZ,IAAI,CAACC,SAAK,KAAK;EACf,IAAI,CAACuE,MAAM,EAAE;EACb,MAAM;IAAElE;EAAK,CAAC,GAAGT,IAAI;EACrB,IAAIS,IAAI,CAACA,IAAI,CAACgB,MAAM,IAAIhB,IAAI,CAACmE,UAAU,CAACnD,MAAM,EAAE;IAC9C,IAAI,CAACoB,OAAO,EAAE;EAChB;EACA,IAAI,CAACxC,KAAK,CAACI,IAAI,EAAET,IAAI,CAAC;EACtB,IAAI,CAAC6E,MAAM,EAAE;EACb,IAAI,CAACC,gBAAgB,CAAC,KAAK,EAAE9E,IAAI,CAAC+E,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EAC7C,IAAI,CAACC,UAAU,EAAE;AACnB"} \ No newline at end of file +{"version":3,"names":["_t","require","n","isCallExpression","isLiteral","isMemberExpression","isNewExpression","UnaryExpression","node","operator","word","space","token","print","argument","DoExpression","async","body","ParenthesizedExpression","expression","rightParens","UpdateExpression","prefix","printTerminatorless","ConditionalExpression","test","consequent","alternate","NewExpression","parent","callee","format","minified","arguments","length","optional","typeArguments","typeParameters","printList","SequenceExpression","expressions","ThisExpression","Super","isDecoratorMemberExpression","type","computed","property","object","shouldParenthesizeDecoratorExpression","_shouldPrintDecoratorsBeforeExport","decoratorsBeforeExport","start","declaration","Decorator","newline","OptionalMemberExpression","TypeError","value","OptionalCallExpression","CallExpression","Import","AwaitExpression","YieldExpression","delegate","EmptyStatement","semicolon","ExpressionStatement","AssignmentPattern","left","typeAnnotation","right","AssignmentExpression","parens","inForStatementInitCounter","needsParens","BindExpression","MemberExpression","MetaProperty","meta","PrivateName","id","V8IntrinsicIdentifier","name","ModuleExpression","indent","directives","dedent","rightBrace"],"sources":["../../src/generators/expressions.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport {\n isCallExpression,\n isLiteral,\n isMemberExpression,\n isNewExpression,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport * as n from \"../node\";\n\nexport function UnaryExpression(this: Printer, node: t.UnaryExpression) {\n const { operator } = node;\n if (\n operator === \"void\" ||\n operator === \"delete\" ||\n operator === \"typeof\" ||\n // throwExpressions\n operator === \"throw\"\n ) {\n this.word(operator);\n this.space();\n } else {\n this.token(operator);\n }\n\n this.print(node.argument, node);\n}\n\nexport function DoExpression(this: Printer, node: t.DoExpression) {\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n this.word(\"do\");\n this.space();\n this.print(node.body, node);\n}\n\nexport function ParenthesizedExpression(\n this: Printer,\n node: t.ParenthesizedExpression,\n) {\n this.token(\"(\");\n this.print(node.expression, node);\n this.rightParens(node);\n}\n\nexport function UpdateExpression(this: Printer, node: t.UpdateExpression) {\n if (node.prefix) {\n this.token(node.operator);\n this.print(node.argument, node);\n } else {\n this.printTerminatorless(node.argument, node, true);\n this.token(node.operator);\n }\n}\n\nexport function ConditionalExpression(\n this: Printer,\n node: t.ConditionalExpression,\n) {\n this.print(node.test, node);\n this.space();\n this.token(\"?\");\n this.space();\n this.print(node.consequent, node);\n this.space();\n this.token(\":\");\n this.space();\n this.print(node.alternate, node);\n}\n\nexport function NewExpression(\n this: Printer,\n node: t.NewExpression,\n parent: t.Node,\n) {\n this.word(\"new\");\n this.space();\n this.print(node.callee, node);\n if (\n this.format.minified &&\n node.arguments.length === 0 &&\n !node.optional &&\n !isCallExpression(parent, { callee: node }) &&\n !isMemberExpression(parent) &&\n !isNewExpression(parent)\n ) {\n return;\n }\n\n this.print(node.typeArguments, node); // Flow\n this.print(node.typeParameters, node); // TS\n\n if (node.optional) {\n // TODO: This can never happen\n this.token(\"?.\");\n }\n this.token(\"(\");\n this.printList(node.arguments, node);\n this.rightParens(node);\n}\n\nexport function SequenceExpression(this: Printer, node: t.SequenceExpression) {\n this.printList(node.expressions, node);\n}\n\nexport function ThisExpression(this: Printer) {\n this.word(\"this\");\n}\n\nexport function Super(this: Printer) {\n this.word(\"super\");\n}\n\nfunction isDecoratorMemberExpression(\n node: t.Expression | t.Super | t.V8IntrinsicIdentifier,\n): boolean {\n switch (node.type) {\n case \"Identifier\":\n return true;\n case \"MemberExpression\":\n return (\n !node.computed &&\n node.property.type === \"Identifier\" &&\n isDecoratorMemberExpression(node.object)\n );\n default:\n return false;\n }\n}\nfunction shouldParenthesizeDecoratorExpression(\n node: t.Expression | t.Super | t.V8IntrinsicIdentifier,\n) {\n if (node.type === \"ParenthesizedExpression\") {\n // We didn't check extra?.parenthesized here because we don't track decorators in needsParen\n return false;\n }\n return !isDecoratorMemberExpression(\n node.type === \"CallExpression\" ? node.callee : node,\n );\n}\n\nexport function _shouldPrintDecoratorsBeforeExport(\n this: Printer,\n node: t.ExportDeclaration & { declaration: t.ClassDeclaration },\n) {\n if (typeof this.format.decoratorsBeforeExport === \"boolean\") {\n return this.format.decoratorsBeforeExport;\n }\n return (\n typeof node.start === \"number\" && node.start === node.declaration.start\n );\n}\n\nexport function Decorator(this: Printer, node: t.Decorator) {\n this.token(\"@\");\n const { expression } = node;\n if (shouldParenthesizeDecoratorExpression(expression)) {\n this.token(\"(\");\n this.print(expression, node);\n this.token(\")\");\n } else {\n this.print(expression, node);\n }\n this.newline();\n}\n\nexport function OptionalMemberExpression(\n this: Printer,\n node: t.OptionalMemberExpression,\n) {\n let { computed } = node;\n const { optional, property } = node;\n\n this.print(node.object, node);\n\n if (!computed && isMemberExpression(property)) {\n throw new TypeError(\"Got a MemberExpression for MemberExpression property\");\n }\n\n // @ts-expect-error todo(flow->ts) maybe instead of typeof check specific literal types?\n if (isLiteral(property) && typeof property.value === \"number\") {\n computed = true;\n }\n if (optional) {\n this.token(\"?.\");\n }\n\n if (computed) {\n this.token(\"[\");\n this.print(property, node);\n this.token(\"]\");\n } else {\n if (!optional) {\n this.token(\".\");\n }\n this.print(property, node);\n }\n}\n\nexport function OptionalCallExpression(\n this: Printer,\n node: t.OptionalCallExpression,\n) {\n this.print(node.callee, node);\n\n this.print(node.typeParameters, node); // TS\n\n if (node.optional) {\n this.token(\"?.\");\n }\n\n this.print(node.typeArguments, node); // Flow\n\n this.token(\"(\");\n this.printList(node.arguments, node);\n this.rightParens(node);\n}\n\nexport function CallExpression(this: Printer, node: t.CallExpression) {\n this.print(node.callee, node);\n\n this.print(node.typeArguments, node); // Flow\n this.print(node.typeParameters, node); // TS\n this.token(\"(\");\n this.printList(node.arguments, node);\n this.rightParens(node);\n}\n\nexport function Import(this: Printer) {\n this.word(\"import\");\n}\n\nexport function AwaitExpression(this: Printer, node: t.AwaitExpression) {\n this.word(\"await\");\n\n if (node.argument) {\n this.space();\n this.printTerminatorless(node.argument, node, false);\n }\n}\n\nexport function YieldExpression(this: Printer, node: t.YieldExpression) {\n this.word(\"yield\", true);\n\n if (node.delegate) {\n this.token(\"*\");\n if (node.argument) {\n this.space();\n // line terminators are allowed after yield*\n this.print(node.argument, node);\n }\n } else {\n if (node.argument) {\n this.space();\n this.printTerminatorless(node.argument, node, false);\n }\n }\n}\n\nexport function EmptyStatement(this: Printer) {\n this.semicolon(true /* force */);\n}\n\nexport function ExpressionStatement(\n this: Printer,\n node: t.ExpressionStatement,\n) {\n this.print(node.expression, node);\n this.semicolon();\n}\n\nexport function AssignmentPattern(this: Printer, node: t.AssignmentPattern) {\n this.print(node.left, node);\n // @ts-expect-error todo(flow->ts) property present on some of the types in union but not all\n if (node.left.optional) this.token(\"?\");\n // @ts-expect-error todo(flow->ts) property present on some of the types in union but not all\n this.print(node.left.typeAnnotation, node);\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.right, node);\n}\n\nexport function AssignmentExpression(\n this: Printer,\n node: t.AssignmentExpression,\n parent: t.Node,\n) {\n // Somewhere inside a for statement `init` node but doesn't usually\n // needs a paren except for `in` expressions: `for (a in b ? a : b;;)`\n const parens =\n this.inForStatementInitCounter &&\n node.operator === \"in\" &&\n !n.needsParens(node, parent);\n\n if (parens) {\n this.token(\"(\");\n }\n\n this.print(node.left, node);\n\n this.space();\n if (node.operator === \"in\" || node.operator === \"instanceof\") {\n this.word(node.operator);\n } else {\n this.token(node.operator);\n }\n this.space();\n\n this.print(node.right, node);\n\n if (parens) {\n this.token(\")\");\n }\n}\n\nexport function BindExpression(this: Printer, node: t.BindExpression) {\n this.print(node.object, node);\n this.token(\"::\");\n this.print(node.callee, node);\n}\n\nexport {\n AssignmentExpression as BinaryExpression,\n AssignmentExpression as LogicalExpression,\n};\n\nexport function MemberExpression(this: Printer, node: t.MemberExpression) {\n this.print(node.object, node);\n\n if (!node.computed && isMemberExpression(node.property)) {\n throw new TypeError(\"Got a MemberExpression for MemberExpression property\");\n }\n\n let computed = node.computed;\n // @ts-expect-error todo(flow->ts) maybe use specific literal types\n if (isLiteral(node.property) && typeof node.property.value === \"number\") {\n computed = true;\n }\n\n if (computed) {\n this.token(\"[\");\n this.print(node.property, node);\n this.token(\"]\");\n } else {\n this.token(\".\");\n this.print(node.property, node);\n }\n}\n\nexport function MetaProperty(this: Printer, node: t.MetaProperty) {\n this.print(node.meta, node);\n this.token(\".\");\n this.print(node.property, node);\n}\n\nexport function PrivateName(this: Printer, node: t.PrivateName) {\n this.token(\"#\");\n this.print(node.id, node);\n}\n\nexport function V8IntrinsicIdentifier(\n this: Printer,\n node: t.V8IntrinsicIdentifier,\n) {\n this.token(\"%\");\n this.word(node.name);\n}\n\nexport function ModuleExpression(this: Printer, node: t.ModuleExpression) {\n this.word(\"module\", true);\n this.space();\n this.token(\"{\");\n this.indent();\n const { body } = node;\n if (body.body.length || body.directives.length) {\n this.newline();\n }\n this.print(body, node);\n this.dedent();\n this.rightBrace(node);\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/flow.js b/node_modules/@babel/generator/lib/generators/flow.js index 2f245af4a..e1f95be3e 100644 --- a/node_modules/@babel/generator/lib/generators/flow.js +++ b/node_modules/@babel/generator/lib/generators/flow.js @@ -335,7 +335,8 @@ function FunctionTypeAnnotation(node, parent) { this.print(node.rest, node); } this.tokenChar(41); - if (parent && (parent.type === "ObjectTypeCallProperty" || parent.type === "ObjectTypeInternalSlot" || parent.type === "DeclareFunction" || parent.type === "ObjectTypeProperty" && parent.method)) { + const type = parent == null ? void 0 : parent.type; + if (type != null && (type === "ObjectTypeCallProperty" || type === "ObjectTypeInternalSlot" || type === "DeclareFunction" || type === "ObjectTypeProperty" && parent.method)) { this.tokenChar(58); } else { this.space(); @@ -367,26 +368,31 @@ function _interfaceish(node) { this.space(); this.printList(node.extends, node); } - if (node.mixins && node.mixins.length) { - this.space(); - this.word("mixins"); - this.space(); - this.printList(node.mixins, node); - } - if (node.implements && node.implements.length) { - this.space(); - this.word("implements"); - this.space(); - this.printList(node.implements, node); + if (node.type === "DeclareClass") { + var _node$mixins, _node$implements; + if ((_node$mixins = node.mixins) != null && _node$mixins.length) { + this.space(); + this.word("mixins"); + this.space(); + this.printList(node.mixins, node); + } + if ((_node$implements = node.implements) != null && _node$implements.length) { + this.space(); + this.word("implements"); + this.space(); + this.printList(node.implements, node); + } } this.space(); this.print(node.body, node); } function _variance(node) { - if (node.variance) { - if (node.variance.kind === "plus") { + var _node$variance; + const kind = (_node$variance = node.variance) == null ? void 0 : _node$variance.kind; + if (kind != null) { + if (kind === "plus") { this.tokenChar(43); - } else if (node.variance.kind === "minus") { + } else if (kind === "minus") { this.tokenChar(45); } } @@ -402,8 +408,9 @@ function andSeparator() { this.space(); } function InterfaceTypeAnnotation(node) { + var _node$extends2; this.word("interface"); - if (node.extends && node.extends.length) { + if ((_node$extends2 = node.extends) != null && _node$extends2.length) { this.space(); this.word("extends"); this.space(); diff --git a/node_modules/@babel/generator/lib/generators/flow.js.map b/node_modules/@babel/generator/lib/generators/flow.js.map index 209ea1a53..4e8f1ed35 100644 --- a/node_modules/@babel/generator/lib/generators/flow.js.map +++ b/node_modules/@babel/generator/lib/generators/flow.js.map @@ -1 +1 @@ -{"version":3,"names":["_t","require","_modules","_types2","isDeclareExportDeclaration","isStatement","AnyTypeAnnotation","word","ArrayTypeAnnotation","node","print","elementType","token","BooleanTypeAnnotation","BooleanLiteralTypeAnnotation","value","NullLiteralTypeAnnotation","DeclareClass","parent","space","_interfaceish","DeclareFunction","id","typeAnnotation","predicate","semicolon","InferredPredicate","DeclaredPredicate","DeclareInterface","InterfaceDeclaration","DeclareModule","body","DeclareModuleExports","DeclareTypeAlias","TypeAlias","DeclareOpaqueType","OpaqueType","DeclareVariable","DeclareExportDeclaration","default","FlowExportDeclaration","call","DeclareExportAllDeclaration","ExportAllDeclaration","EnumDeclaration","enumExplicitType","context","name","hasExplicitType","enumBody","members","indent","newline","member","hasUnknownMembers","dedent","EnumBooleanBody","explicitType","EnumNumberBody","EnumStringBody","EnumSymbolBody","EnumDefaultedMember","enumInitializedMember","init","EnumBooleanMember","EnumNumberMember","EnumStringMember","declaration","declar","specifiers","length","printList","source","ExistsTypeAnnotation","FunctionTypeAnnotation","typeParameters","this","params","rest","type","method","returnType","FunctionTypeParam","optional","InterfaceExtends","_node$extends","extends","mixins","implements","_variance","variance","kind","andSeparator","InterfaceTypeAnnotation","IntersectionTypeAnnotation","printJoin","types","separator","MixedTypeAnnotation","EmptyTypeAnnotation","NullableTypeAnnotation","NumberTypeAnnotation","StringTypeAnnotation","ThisTypeAnnotation","TupleTypeAnnotation","TypeofTypeAnnotation","argument","right","TypeAnnotation","TypeParameterInstantiation","TypeParameter","bound","supertype","impltype","ObjectTypeAnnotation","exact","props","properties","callProperties","indexers","internalSlots","addNewlines","leading","statement","iterator","inexact","ObjectTypeInternalSlot","static","ObjectTypeCallProperty","ObjectTypeIndexer","key","ObjectTypeProperty","proto","ObjectTypeSpreadProperty","QualifiedTypeIdentifier","qualification","SymbolTypeAnnotation","orSeparator","UnionTypeAnnotation","TypeCastExpression","expression","Variance","VoidTypeAnnotation","IndexedAccessType","objectType","indexType","OptionalIndexedAccessType"],"sources":["../../src/generators/flow.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport { isDeclareExportDeclaration, isStatement } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport { ExportAllDeclaration } from \"./modules\";\n\nexport function AnyTypeAnnotation(this: Printer) {\n this.word(\"any\");\n}\n\nexport function ArrayTypeAnnotation(\n this: Printer,\n node: t.ArrayTypeAnnotation,\n) {\n this.print(node.elementType, node, true);\n this.token(\"[\");\n this.token(\"]\");\n}\n\nexport function BooleanTypeAnnotation(this: Printer) {\n this.word(\"boolean\");\n}\n\nexport function BooleanLiteralTypeAnnotation(\n this: Printer,\n node: t.BooleanLiteralTypeAnnotation,\n) {\n this.word(node.value ? \"true\" : \"false\");\n}\n\nexport function NullLiteralTypeAnnotation(this: Printer) {\n this.word(\"null\");\n}\n\nexport function DeclareClass(\n this: Printer,\n node: t.DeclareClass,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"class\");\n this.space();\n this._interfaceish(node);\n}\n\nexport function DeclareFunction(\n this: Printer,\n node: t.DeclareFunction,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"function\");\n this.space();\n this.print(node.id, node);\n // @ts-ignore(Babel 7 vs Babel 8) TODO(Babel 8) Remove this comment, since we'll remove the Noop node\n this.print(node.id.typeAnnotation.typeAnnotation, node);\n\n if (node.predicate) {\n this.space();\n this.print(node.predicate, node);\n }\n\n this.semicolon();\n}\n\nexport function InferredPredicate(this: Printer) {\n this.token(\"%\");\n this.word(\"checks\");\n}\n\nexport function DeclaredPredicate(this: Printer, node: t.DeclaredPredicate) {\n this.token(\"%\");\n this.word(\"checks\");\n this.token(\"(\");\n this.print(node.value, node);\n this.token(\")\");\n}\n\nexport function DeclareInterface(this: Printer, node: t.DeclareInterface) {\n this.word(\"declare\");\n this.space();\n this.InterfaceDeclaration(node);\n}\n\nexport function DeclareModule(this: Printer, node: t.DeclareModule) {\n this.word(\"declare\");\n this.space();\n this.word(\"module\");\n this.space();\n this.print(node.id, node);\n this.space();\n this.print(node.body, node);\n}\n\nexport function DeclareModuleExports(\n this: Printer,\n node: t.DeclareModuleExports,\n) {\n this.word(\"declare\");\n this.space();\n this.word(\"module\");\n this.token(\".\");\n this.word(\"exports\");\n this.print(node.typeAnnotation, node);\n}\n\nexport function DeclareTypeAlias(this: Printer, node: t.DeclareTypeAlias) {\n this.word(\"declare\");\n this.space();\n this.TypeAlias(node);\n}\n\nexport function DeclareOpaqueType(\n this: Printer,\n node: t.DeclareOpaqueType,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.OpaqueType(node);\n}\n\nexport function DeclareVariable(\n this: Printer,\n node: t.DeclareVariable,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"var\");\n this.space();\n this.print(node.id, node);\n this.print(node.id.typeAnnotation, node);\n this.semicolon();\n}\n\nexport function DeclareExportDeclaration(\n this: Printer,\n node: t.DeclareExportDeclaration,\n) {\n this.word(\"declare\");\n this.space();\n this.word(\"export\");\n this.space();\n if (node.default) {\n this.word(\"default\");\n this.space();\n }\n\n FlowExportDeclaration.call(this, node);\n}\n\nexport function DeclareExportAllDeclaration(\n this: Printer,\n node: t.DeclareExportAllDeclaration,\n) {\n this.word(\"declare\");\n this.space();\n ExportAllDeclaration.call(this, node);\n}\n\nexport function EnumDeclaration(this: Printer, node: t.EnumDeclaration) {\n const { id, body } = node;\n this.word(\"enum\");\n this.space();\n this.print(id, node);\n this.print(body, node);\n}\n\nfunction enumExplicitType(\n context: Printer,\n name: string,\n hasExplicitType: boolean,\n) {\n if (hasExplicitType) {\n context.space();\n context.word(\"of\");\n context.space();\n context.word(name);\n }\n context.space();\n}\n\nfunction enumBody(context: Printer, node: t.EnumBody) {\n const { members } = node;\n context.token(\"{\");\n context.indent();\n context.newline();\n for (const member of members) {\n context.print(member, node);\n context.newline();\n }\n if (node.hasUnknownMembers) {\n context.token(\"...\");\n context.newline();\n }\n context.dedent();\n context.token(\"}\");\n}\n\nexport function EnumBooleanBody(this: Printer, node: t.EnumBooleanBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"boolean\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumNumberBody(this: Printer, node: t.EnumNumberBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"number\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumStringBody(this: Printer, node: t.EnumStringBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"string\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumSymbolBody(this: Printer, node: t.EnumSymbolBody) {\n enumExplicitType(this, \"symbol\", true);\n enumBody(this, node);\n}\n\nexport function EnumDefaultedMember(\n this: Printer,\n node: t.EnumDefaultedMember,\n) {\n const { id } = node;\n this.print(id, node);\n this.token(\",\");\n}\n\nfunction enumInitializedMember(\n context: Printer,\n node: t.EnumBooleanMember | t.EnumNumberMember | t.EnumStringMember,\n) {\n const { id, init } = node;\n context.print(id, node);\n context.space();\n context.token(\"=\");\n context.space();\n context.print(init, node);\n context.token(\",\");\n}\n\nexport function EnumBooleanMember(this: Printer, node: t.EnumBooleanMember) {\n enumInitializedMember(this, node);\n}\n\nexport function EnumNumberMember(this: Printer, node: t.EnumNumberMember) {\n enumInitializedMember(this, node);\n}\n\nexport function EnumStringMember(this: Printer, node: t.EnumStringMember) {\n enumInitializedMember(this, node);\n}\n\nfunction FlowExportDeclaration(\n this: Printer,\n node: t.DeclareExportDeclaration,\n) {\n if (node.declaration) {\n const declar = node.declaration;\n this.print(declar, node);\n if (!isStatement(declar)) this.semicolon();\n } else {\n this.token(\"{\");\n if (node.specifiers.length) {\n this.space();\n this.printList(node.specifiers, node);\n this.space();\n }\n this.token(\"}\");\n\n if (node.source) {\n this.space();\n this.word(\"from\");\n this.space();\n this.print(node.source, node);\n }\n\n this.semicolon();\n }\n}\n\nexport function ExistsTypeAnnotation(this: Printer) {\n this.token(\"*\");\n}\n\nexport function FunctionTypeAnnotation(\n this: Printer,\n node: t.FunctionTypeAnnotation,\n parent: t.Node | void,\n) {\n this.print(node.typeParameters, node);\n this.token(\"(\");\n\n if (node.this) {\n this.word(\"this\");\n this.token(\":\");\n this.space();\n this.print(node.this.typeAnnotation, node);\n if (node.params.length || node.rest) {\n this.token(\",\");\n this.space();\n }\n }\n\n this.printList(node.params, node);\n\n if (node.rest) {\n if (node.params.length) {\n this.token(\",\");\n this.space();\n }\n this.token(\"...\");\n this.print(node.rest, node);\n }\n\n this.token(\")\");\n\n // this node type is overloaded, not sure why but it makes it EXTREMELY annoying\n if (\n parent &&\n (parent.type === \"ObjectTypeCallProperty\" ||\n parent.type === \"ObjectTypeInternalSlot\" ||\n parent.type === \"DeclareFunction\" ||\n (parent.type === \"ObjectTypeProperty\" && parent.method))\n ) {\n this.token(\":\");\n } else {\n this.space();\n this.token(\"=>\");\n }\n\n this.space();\n this.print(node.returnType, node);\n}\n\nexport function FunctionTypeParam(this: Printer, node: t.FunctionTypeParam) {\n this.print(node.name, node);\n if (node.optional) this.token(\"?\");\n if (node.name) {\n this.token(\":\");\n this.space();\n }\n this.print(node.typeAnnotation, node);\n}\n\nexport function InterfaceExtends(this: Printer, node: t.InterfaceExtends) {\n this.print(node.id, node);\n this.print(node.typeParameters, node, true);\n}\n\nexport {\n InterfaceExtends as ClassImplements,\n InterfaceExtends as GenericTypeAnnotation,\n};\n\nexport function _interfaceish(\n this: Printer,\n node: t.InterfaceDeclaration | t.DeclareInterface | t.DeclareClass,\n) {\n this.print(node.id, node);\n this.print(node.typeParameters, node);\n if (node.extends?.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(node.extends, node);\n }\n if (node.mixins && node.mixins.length) {\n this.space();\n this.word(\"mixins\");\n this.space();\n this.printList(node.mixins, node);\n }\n if (node.implements && node.implements.length) {\n this.space();\n this.word(\"implements\");\n this.space();\n this.printList(node.implements, node);\n }\n this.space();\n this.print(node.body, node);\n}\n\nexport function _variance(\n this: Printer,\n node:\n | t.TypeParameter\n | t.ObjectTypeIndexer\n | t.ObjectTypeProperty\n | t.ClassProperty\n | t.ClassPrivateProperty\n | t.ClassAccessorProperty,\n) {\n if (node.variance) {\n if (node.variance.kind === \"plus\") {\n this.token(\"+\");\n } else if (node.variance.kind === \"minus\") {\n this.token(\"-\");\n }\n }\n}\n\nexport function InterfaceDeclaration(\n this: Printer,\n node: t.InterfaceDeclaration | t.DeclareInterface,\n) {\n this.word(\"interface\");\n this.space();\n this._interfaceish(node);\n}\n\nfunction andSeparator(this: Printer) {\n this.space();\n this.token(\"&\");\n this.space();\n}\n\nexport function InterfaceTypeAnnotation(\n this: Printer,\n node: t.InterfaceTypeAnnotation,\n) {\n this.word(\"interface\");\n if (node.extends && node.extends.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(node.extends, node);\n }\n this.space();\n this.print(node.body, node);\n}\n\nexport function IntersectionTypeAnnotation(\n this: Printer,\n node: t.IntersectionTypeAnnotation,\n) {\n this.printJoin(node.types, node, { separator: andSeparator });\n}\n\nexport function MixedTypeAnnotation(this: Printer) {\n this.word(\"mixed\");\n}\n\nexport function EmptyTypeAnnotation(this: Printer) {\n this.word(\"empty\");\n}\n\nexport function NullableTypeAnnotation(\n this: Printer,\n node: t.NullableTypeAnnotation,\n) {\n this.token(\"?\");\n this.print(node.typeAnnotation, node);\n}\n\nexport {\n NumericLiteral as NumberLiteralTypeAnnotation,\n StringLiteral as StringLiteralTypeAnnotation,\n} from \"./types\";\n\nexport function NumberTypeAnnotation(this: Printer) {\n this.word(\"number\");\n}\n\nexport function StringTypeAnnotation(this: Printer) {\n this.word(\"string\");\n}\n\nexport function ThisTypeAnnotation(this: Printer) {\n this.word(\"this\");\n}\n\nexport function TupleTypeAnnotation(\n this: Printer,\n node: t.TupleTypeAnnotation,\n) {\n this.token(\"[\");\n this.printList(node.types, node);\n this.token(\"]\");\n}\n\nexport function TypeofTypeAnnotation(\n this: Printer,\n node: t.TypeofTypeAnnotation,\n) {\n this.word(\"typeof\");\n this.space();\n this.print(node.argument, node);\n}\n\nexport function TypeAlias(\n this: Printer,\n node: t.TypeAlias | t.DeclareTypeAlias,\n) {\n this.word(\"type\");\n this.space();\n this.print(node.id, node);\n this.print(node.typeParameters, node);\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.right, node);\n this.semicolon();\n}\n\nexport function TypeAnnotation(this: Printer, node: t.TypeAnnotation) {\n this.token(\":\");\n this.space();\n // @ts-expect-error todo(flow->ts) can this be removed? `.optional` looks to be not existing property\n if (node.optional) this.token(\"?\");\n this.print(node.typeAnnotation, node);\n}\n\nexport function TypeParameterInstantiation(\n this: Printer,\n node: t.TypeParameterInstantiation,\n): void {\n this.token(\"<\");\n this.printList(node.params, node, {});\n this.token(\">\");\n}\n\nexport { TypeParameterInstantiation as TypeParameterDeclaration };\n\nexport function TypeParameter(this: Printer, node: t.TypeParameter) {\n this._variance(node);\n\n this.word(node.name);\n\n if (node.bound) {\n this.print(node.bound, node);\n }\n\n if (node.default) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.default, node);\n }\n}\n\nexport function OpaqueType(\n this: Printer,\n node: t.OpaqueType | t.DeclareOpaqueType,\n) {\n this.word(\"opaque\");\n this.space();\n this.word(\"type\");\n this.space();\n this.print(node.id, node);\n this.print(node.typeParameters, node);\n if (node.supertype) {\n this.token(\":\");\n this.space();\n this.print(node.supertype, node);\n }\n\n if (node.impltype) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.impltype, node);\n }\n this.semicolon();\n}\n\nexport function ObjectTypeAnnotation(\n this: Printer,\n node: t.ObjectTypeAnnotation,\n) {\n if (node.exact) {\n this.token(\"{|\");\n } else {\n this.token(\"{\");\n }\n\n // TODO: remove the array fallbacks and instead enforce the types to require an array\n const props = [\n ...node.properties,\n ...(node.callProperties || []),\n ...(node.indexers || []),\n ...(node.internalSlots || []),\n ];\n\n if (props.length) {\n this.newline();\n\n this.space();\n\n this.printJoin(props, node, {\n addNewlines(leading) {\n if (leading && !props[0]) return 1;\n },\n indent: true,\n statement: true,\n iterator: () => {\n if (props.length !== 1 || node.inexact) {\n this.token(\",\");\n this.space();\n }\n },\n });\n\n this.space();\n }\n\n if (node.inexact) {\n this.indent();\n this.token(\"...\");\n if (props.length) {\n this.newline();\n }\n this.dedent();\n }\n\n if (node.exact) {\n this.token(\"|}\");\n } else {\n this.token(\"}\");\n }\n}\n\nexport function ObjectTypeInternalSlot(\n this: Printer,\n node: t.ObjectTypeInternalSlot,\n) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this.token(\"[\");\n this.token(\"[\");\n this.print(node.id, node);\n this.token(\"]\");\n this.token(\"]\");\n if (node.optional) this.token(\"?\");\n if (!node.method) {\n this.token(\":\");\n this.space();\n }\n this.print(node.value, node);\n}\n\nexport function ObjectTypeCallProperty(\n this: Printer,\n node: t.ObjectTypeCallProperty,\n) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this.print(node.value, node);\n}\n\nexport function ObjectTypeIndexer(this: Printer, node: t.ObjectTypeIndexer) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this._variance(node);\n this.token(\"[\");\n if (node.id) {\n this.print(node.id, node);\n this.token(\":\");\n this.space();\n }\n this.print(node.key, node);\n this.token(\"]\");\n this.token(\":\");\n this.space();\n this.print(node.value, node);\n}\n\nexport function ObjectTypeProperty(this: Printer, node: t.ObjectTypeProperty) {\n if (node.proto) {\n this.word(\"proto\");\n this.space();\n }\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n if (node.kind === \"get\" || node.kind === \"set\") {\n this.word(node.kind);\n this.space();\n }\n this._variance(node);\n this.print(node.key, node);\n if (node.optional) this.token(\"?\");\n if (!node.method) {\n this.token(\":\");\n this.space();\n }\n this.print(node.value, node);\n}\n\nexport function ObjectTypeSpreadProperty(\n this: Printer,\n node: t.ObjectTypeSpreadProperty,\n) {\n this.token(\"...\");\n this.print(node.argument, node);\n}\n\nexport function QualifiedTypeIdentifier(\n this: Printer,\n node: t.QualifiedTypeIdentifier,\n) {\n this.print(node.qualification, node);\n this.token(\".\");\n this.print(node.id, node);\n}\n\nexport function SymbolTypeAnnotation(this: Printer) {\n this.word(\"symbol\");\n}\n\nfunction orSeparator(this: Printer) {\n this.space();\n this.token(\"|\");\n this.space();\n}\n\nexport function UnionTypeAnnotation(\n this: Printer,\n node: t.UnionTypeAnnotation,\n) {\n this.printJoin(node.types, node, { separator: orSeparator });\n}\n\nexport function TypeCastExpression(this: Printer, node: t.TypeCastExpression) {\n this.token(\"(\");\n this.print(node.expression, node);\n this.print(node.typeAnnotation, node);\n this.token(\")\");\n}\n\nexport function Variance(this: Printer, node: t.Variance) {\n if (node.kind === \"plus\") {\n this.token(\"+\");\n } else {\n this.token(\"-\");\n }\n}\n\nexport function VoidTypeAnnotation(this: Printer) {\n this.word(\"void\");\n}\n\nexport function IndexedAccessType(this: Printer, node: t.IndexedAccessType) {\n this.print(node.objectType, node, true);\n this.token(\"[\");\n this.print(node.indexType, node);\n this.token(\"]\");\n}\n\nexport function OptionalIndexedAccessType(\n this: Printer,\n node: t.OptionalIndexedAccessType,\n) {\n this.print(node.objectType, node);\n if (node.optional) {\n this.token(\"?.\");\n }\n this.token(\"[\");\n this.print(node.indexType, node);\n this.token(\"]\");\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_t","require","_modules","_types2","isDeclareExportDeclaration","isStatement","AnyTypeAnnotation","word","ArrayTypeAnnotation","node","print","elementType","token","BooleanTypeAnnotation","BooleanLiteralTypeAnnotation","value","NullLiteralTypeAnnotation","DeclareClass","parent","space","_interfaceish","DeclareFunction","id","typeAnnotation","predicate","semicolon","InferredPredicate","DeclaredPredicate","DeclareInterface","InterfaceDeclaration","DeclareModule","body","DeclareModuleExports","DeclareTypeAlias","TypeAlias","DeclareOpaqueType","OpaqueType","DeclareVariable","DeclareExportDeclaration","default","FlowExportDeclaration","call","DeclareExportAllDeclaration","ExportAllDeclaration","EnumDeclaration","enumExplicitType","context","name","hasExplicitType","enumBody","members","indent","newline","member","hasUnknownMembers","dedent","EnumBooleanBody","explicitType","EnumNumberBody","EnumStringBody","EnumSymbolBody","EnumDefaultedMember","enumInitializedMember","init","EnumBooleanMember","EnumNumberMember","EnumStringMember","declaration","declar","specifiers","length","printList","source","ExistsTypeAnnotation","FunctionTypeAnnotation","typeParameters","this","params","rest","type","method","returnType","FunctionTypeParam","optional","InterfaceExtends","_node$extends","extends","_node$mixins","_node$implements","mixins","implements","_variance","_node$variance","kind","variance","andSeparator","InterfaceTypeAnnotation","_node$extends2","IntersectionTypeAnnotation","printJoin","types","separator","MixedTypeAnnotation","EmptyTypeAnnotation","NullableTypeAnnotation","NumberTypeAnnotation","StringTypeAnnotation","ThisTypeAnnotation","TupleTypeAnnotation","TypeofTypeAnnotation","argument","right","TypeAnnotation","TypeParameterInstantiation","TypeParameter","bound","supertype","impltype","ObjectTypeAnnotation","exact","props","properties","callProperties","indexers","internalSlots","addNewlines","leading","statement","iterator","inexact","ObjectTypeInternalSlot","static","ObjectTypeCallProperty","ObjectTypeIndexer","key","ObjectTypeProperty","proto","ObjectTypeSpreadProperty","QualifiedTypeIdentifier","qualification","SymbolTypeAnnotation","orSeparator","UnionTypeAnnotation","TypeCastExpression","expression","Variance","VoidTypeAnnotation","IndexedAccessType","objectType","indexType","OptionalIndexedAccessType"],"sources":["../../src/generators/flow.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport { isDeclareExportDeclaration, isStatement } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport { ExportAllDeclaration } from \"./modules\";\n\nexport function AnyTypeAnnotation(this: Printer) {\n this.word(\"any\");\n}\n\nexport function ArrayTypeAnnotation(\n this: Printer,\n node: t.ArrayTypeAnnotation,\n) {\n this.print(node.elementType, node, true);\n this.token(\"[\");\n this.token(\"]\");\n}\n\nexport function BooleanTypeAnnotation(this: Printer) {\n this.word(\"boolean\");\n}\n\nexport function BooleanLiteralTypeAnnotation(\n this: Printer,\n node: t.BooleanLiteralTypeAnnotation,\n) {\n this.word(node.value ? \"true\" : \"false\");\n}\n\nexport function NullLiteralTypeAnnotation(this: Printer) {\n this.word(\"null\");\n}\n\nexport function DeclareClass(\n this: Printer,\n node: t.DeclareClass,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"class\");\n this.space();\n this._interfaceish(node);\n}\n\nexport function DeclareFunction(\n this: Printer,\n node: t.DeclareFunction,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"function\");\n this.space();\n this.print(node.id, node);\n // @ts-ignore(Babel 7 vs Babel 8) TODO(Babel 8) Remove this comment, since we'll remove the Noop node\n this.print(node.id.typeAnnotation.typeAnnotation, node);\n\n if (node.predicate) {\n this.space();\n this.print(node.predicate, node);\n }\n\n this.semicolon();\n}\n\nexport function InferredPredicate(this: Printer) {\n this.token(\"%\");\n this.word(\"checks\");\n}\n\nexport function DeclaredPredicate(this: Printer, node: t.DeclaredPredicate) {\n this.token(\"%\");\n this.word(\"checks\");\n this.token(\"(\");\n this.print(node.value, node);\n this.token(\")\");\n}\n\nexport function DeclareInterface(this: Printer, node: t.DeclareInterface) {\n this.word(\"declare\");\n this.space();\n this.InterfaceDeclaration(node);\n}\n\nexport function DeclareModule(this: Printer, node: t.DeclareModule) {\n this.word(\"declare\");\n this.space();\n this.word(\"module\");\n this.space();\n this.print(node.id, node);\n this.space();\n this.print(node.body, node);\n}\n\nexport function DeclareModuleExports(\n this: Printer,\n node: t.DeclareModuleExports,\n) {\n this.word(\"declare\");\n this.space();\n this.word(\"module\");\n this.token(\".\");\n this.word(\"exports\");\n this.print(node.typeAnnotation, node);\n}\n\nexport function DeclareTypeAlias(this: Printer, node: t.DeclareTypeAlias) {\n this.word(\"declare\");\n this.space();\n this.TypeAlias(node);\n}\n\nexport function DeclareOpaqueType(\n this: Printer,\n node: t.DeclareOpaqueType,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.OpaqueType(node);\n}\n\nexport function DeclareVariable(\n this: Printer,\n node: t.DeclareVariable,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"var\");\n this.space();\n this.print(node.id, node);\n this.print(node.id.typeAnnotation, node);\n this.semicolon();\n}\n\nexport function DeclareExportDeclaration(\n this: Printer,\n node: t.DeclareExportDeclaration,\n) {\n this.word(\"declare\");\n this.space();\n this.word(\"export\");\n this.space();\n if (node.default) {\n this.word(\"default\");\n this.space();\n }\n\n FlowExportDeclaration.call(this, node);\n}\n\nexport function DeclareExportAllDeclaration(\n this: Printer,\n node: t.DeclareExportAllDeclaration,\n) {\n this.word(\"declare\");\n this.space();\n ExportAllDeclaration.call(this, node);\n}\n\nexport function EnumDeclaration(this: Printer, node: t.EnumDeclaration) {\n const { id, body } = node;\n this.word(\"enum\");\n this.space();\n this.print(id, node);\n this.print(body, node);\n}\n\nfunction enumExplicitType(\n context: Printer,\n name: string,\n hasExplicitType: boolean,\n) {\n if (hasExplicitType) {\n context.space();\n context.word(\"of\");\n context.space();\n context.word(name);\n }\n context.space();\n}\n\nfunction enumBody(context: Printer, node: t.EnumBody) {\n const { members } = node;\n context.token(\"{\");\n context.indent();\n context.newline();\n for (const member of members) {\n context.print(member, node);\n context.newline();\n }\n if (node.hasUnknownMembers) {\n context.token(\"...\");\n context.newline();\n }\n context.dedent();\n context.token(\"}\");\n}\n\nexport function EnumBooleanBody(this: Printer, node: t.EnumBooleanBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"boolean\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumNumberBody(this: Printer, node: t.EnumNumberBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"number\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumStringBody(this: Printer, node: t.EnumStringBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"string\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumSymbolBody(this: Printer, node: t.EnumSymbolBody) {\n enumExplicitType(this, \"symbol\", true);\n enumBody(this, node);\n}\n\nexport function EnumDefaultedMember(\n this: Printer,\n node: t.EnumDefaultedMember,\n) {\n const { id } = node;\n this.print(id, node);\n this.token(\",\");\n}\n\nfunction enumInitializedMember(\n context: Printer,\n node: t.EnumBooleanMember | t.EnumNumberMember | t.EnumStringMember,\n) {\n const { id, init } = node;\n context.print(id, node);\n context.space();\n context.token(\"=\");\n context.space();\n context.print(init, node);\n context.token(\",\");\n}\n\nexport function EnumBooleanMember(this: Printer, node: t.EnumBooleanMember) {\n enumInitializedMember(this, node);\n}\n\nexport function EnumNumberMember(this: Printer, node: t.EnumNumberMember) {\n enumInitializedMember(this, node);\n}\n\nexport function EnumStringMember(this: Printer, node: t.EnumStringMember) {\n enumInitializedMember(this, node);\n}\n\nfunction FlowExportDeclaration(\n this: Printer,\n node: t.DeclareExportDeclaration,\n) {\n if (node.declaration) {\n const declar = node.declaration;\n this.print(declar, node);\n if (!isStatement(declar)) this.semicolon();\n } else {\n this.token(\"{\");\n if (node.specifiers.length) {\n this.space();\n this.printList(node.specifiers, node);\n this.space();\n }\n this.token(\"}\");\n\n if (node.source) {\n this.space();\n this.word(\"from\");\n this.space();\n this.print(node.source, node);\n }\n\n this.semicolon();\n }\n}\n\nexport function ExistsTypeAnnotation(this: Printer) {\n this.token(\"*\");\n}\n\nexport function FunctionTypeAnnotation(\n this: Printer,\n node: t.FunctionTypeAnnotation,\n parent?: t.Node,\n) {\n this.print(node.typeParameters, node);\n this.token(\"(\");\n\n if (node.this) {\n this.word(\"this\");\n this.token(\":\");\n this.space();\n this.print(node.this.typeAnnotation, node);\n if (node.params.length || node.rest) {\n this.token(\",\");\n this.space();\n }\n }\n\n this.printList(node.params, node);\n\n if (node.rest) {\n if (node.params.length) {\n this.token(\",\");\n this.space();\n }\n this.token(\"...\");\n this.print(node.rest, node);\n }\n\n this.token(\")\");\n\n // this node type is overloaded, not sure why but it makes it EXTREMELY annoying\n\n const type = parent?.type;\n if (\n type != null &&\n (type === \"ObjectTypeCallProperty\" ||\n type === \"ObjectTypeInternalSlot\" ||\n type === \"DeclareFunction\" ||\n (type === \"ObjectTypeProperty\" && parent.method))\n ) {\n this.token(\":\");\n } else {\n this.space();\n this.token(\"=>\");\n }\n\n this.space();\n this.print(node.returnType, node);\n}\n\nexport function FunctionTypeParam(this: Printer, node: t.FunctionTypeParam) {\n this.print(node.name, node);\n if (node.optional) this.token(\"?\");\n if (node.name) {\n this.token(\":\");\n this.space();\n }\n this.print(node.typeAnnotation, node);\n}\n\nexport function InterfaceExtends(this: Printer, node: t.InterfaceExtends) {\n this.print(node.id, node);\n this.print(node.typeParameters, node, true);\n}\n\nexport {\n InterfaceExtends as ClassImplements,\n InterfaceExtends as GenericTypeAnnotation,\n};\n\nexport function _interfaceish(\n this: Printer,\n node: t.InterfaceDeclaration | t.DeclareInterface | t.DeclareClass,\n) {\n this.print(node.id, node);\n this.print(node.typeParameters, node);\n if (node.extends?.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(node.extends, node);\n }\n if (node.type === \"DeclareClass\") {\n if (node.mixins?.length) {\n this.space();\n this.word(\"mixins\");\n this.space();\n this.printList(node.mixins, node);\n }\n if (node.implements?.length) {\n this.space();\n this.word(\"implements\");\n this.space();\n this.printList(node.implements, node);\n }\n }\n this.space();\n this.print(node.body, node);\n}\n\nexport function _variance(\n this: Printer,\n node:\n | t.TypeParameter\n | t.ObjectTypeIndexer\n | t.ObjectTypeProperty\n | t.ClassProperty\n | t.ClassPrivateProperty\n | t.ClassAccessorProperty,\n) {\n const kind = node.variance?.kind;\n if (kind != null) {\n if (kind === \"plus\") {\n this.token(\"+\");\n } else if (kind === \"minus\") {\n this.token(\"-\");\n }\n }\n}\n\nexport function InterfaceDeclaration(\n this: Printer,\n node: t.InterfaceDeclaration | t.DeclareInterface,\n) {\n this.word(\"interface\");\n this.space();\n this._interfaceish(node);\n}\n\nfunction andSeparator(this: Printer) {\n this.space();\n this.token(\"&\");\n this.space();\n}\n\nexport function InterfaceTypeAnnotation(\n this: Printer,\n node: t.InterfaceTypeAnnotation,\n) {\n this.word(\"interface\");\n if (node.extends?.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(node.extends, node);\n }\n this.space();\n this.print(node.body, node);\n}\n\nexport function IntersectionTypeAnnotation(\n this: Printer,\n node: t.IntersectionTypeAnnotation,\n) {\n this.printJoin(node.types, node, { separator: andSeparator });\n}\n\nexport function MixedTypeAnnotation(this: Printer) {\n this.word(\"mixed\");\n}\n\nexport function EmptyTypeAnnotation(this: Printer) {\n this.word(\"empty\");\n}\n\nexport function NullableTypeAnnotation(\n this: Printer,\n node: t.NullableTypeAnnotation,\n) {\n this.token(\"?\");\n this.print(node.typeAnnotation, node);\n}\n\nexport {\n NumericLiteral as NumberLiteralTypeAnnotation,\n StringLiteral as StringLiteralTypeAnnotation,\n} from \"./types\";\n\nexport function NumberTypeAnnotation(this: Printer) {\n this.word(\"number\");\n}\n\nexport function StringTypeAnnotation(this: Printer) {\n this.word(\"string\");\n}\n\nexport function ThisTypeAnnotation(this: Printer) {\n this.word(\"this\");\n}\n\nexport function TupleTypeAnnotation(\n this: Printer,\n node: t.TupleTypeAnnotation,\n) {\n this.token(\"[\");\n this.printList(node.types, node);\n this.token(\"]\");\n}\n\nexport function TypeofTypeAnnotation(\n this: Printer,\n node: t.TypeofTypeAnnotation,\n) {\n this.word(\"typeof\");\n this.space();\n this.print(node.argument, node);\n}\n\nexport function TypeAlias(\n this: Printer,\n node: t.TypeAlias | t.DeclareTypeAlias,\n) {\n this.word(\"type\");\n this.space();\n this.print(node.id, node);\n this.print(node.typeParameters, node);\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.right, node);\n this.semicolon();\n}\n\nexport function TypeAnnotation(this: Printer, node: t.TypeAnnotation) {\n this.token(\":\");\n this.space();\n // @ts-expect-error todo(flow->ts) can this be removed? `.optional` looks to be not existing property\n if (node.optional) this.token(\"?\");\n this.print(node.typeAnnotation, node);\n}\n\nexport function TypeParameterInstantiation(\n this: Printer,\n node: t.TypeParameterInstantiation,\n): void {\n this.token(\"<\");\n this.printList(node.params, node, {});\n this.token(\">\");\n}\n\nexport { TypeParameterInstantiation as TypeParameterDeclaration };\n\nexport function TypeParameter(this: Printer, node: t.TypeParameter) {\n this._variance(node);\n\n this.word(node.name);\n\n if (node.bound) {\n this.print(node.bound, node);\n }\n\n if (node.default) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.default, node);\n }\n}\n\nexport function OpaqueType(\n this: Printer,\n node: t.OpaqueType | t.DeclareOpaqueType,\n) {\n this.word(\"opaque\");\n this.space();\n this.word(\"type\");\n this.space();\n this.print(node.id, node);\n this.print(node.typeParameters, node);\n if (node.supertype) {\n this.token(\":\");\n this.space();\n this.print(node.supertype, node);\n }\n\n if (node.impltype) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.impltype, node);\n }\n this.semicolon();\n}\n\nexport function ObjectTypeAnnotation(\n this: Printer,\n node: t.ObjectTypeAnnotation,\n) {\n if (node.exact) {\n this.token(\"{|\");\n } else {\n this.token(\"{\");\n }\n\n // TODO: remove the array fallbacks and instead enforce the types to require an array\n const props = [\n ...node.properties,\n ...(node.callProperties || []),\n ...(node.indexers || []),\n ...(node.internalSlots || []),\n ];\n\n if (props.length) {\n this.newline();\n\n this.space();\n\n this.printJoin(props, node, {\n addNewlines(leading) {\n if (leading && !props[0]) return 1;\n },\n indent: true,\n statement: true,\n iterator: () => {\n if (props.length !== 1 || node.inexact) {\n this.token(\",\");\n this.space();\n }\n },\n });\n\n this.space();\n }\n\n if (node.inexact) {\n this.indent();\n this.token(\"...\");\n if (props.length) {\n this.newline();\n }\n this.dedent();\n }\n\n if (node.exact) {\n this.token(\"|}\");\n } else {\n this.token(\"}\");\n }\n}\n\nexport function ObjectTypeInternalSlot(\n this: Printer,\n node: t.ObjectTypeInternalSlot,\n) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this.token(\"[\");\n this.token(\"[\");\n this.print(node.id, node);\n this.token(\"]\");\n this.token(\"]\");\n if (node.optional) this.token(\"?\");\n if (!node.method) {\n this.token(\":\");\n this.space();\n }\n this.print(node.value, node);\n}\n\nexport function ObjectTypeCallProperty(\n this: Printer,\n node: t.ObjectTypeCallProperty,\n) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this.print(node.value, node);\n}\n\nexport function ObjectTypeIndexer(this: Printer, node: t.ObjectTypeIndexer) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this._variance(node);\n this.token(\"[\");\n if (node.id) {\n this.print(node.id, node);\n this.token(\":\");\n this.space();\n }\n this.print(node.key, node);\n this.token(\"]\");\n this.token(\":\");\n this.space();\n this.print(node.value, node);\n}\n\nexport function ObjectTypeProperty(this: Printer, node: t.ObjectTypeProperty) {\n if (node.proto) {\n this.word(\"proto\");\n this.space();\n }\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n if (node.kind === \"get\" || node.kind === \"set\") {\n this.word(node.kind);\n this.space();\n }\n this._variance(node);\n this.print(node.key, node);\n if (node.optional) this.token(\"?\");\n if (!node.method) {\n this.token(\":\");\n this.space();\n }\n this.print(node.value, node);\n}\n\nexport function ObjectTypeSpreadProperty(\n this: Printer,\n node: t.ObjectTypeSpreadProperty,\n) {\n this.token(\"...\");\n this.print(node.argument, node);\n}\n\nexport function QualifiedTypeIdentifier(\n this: Printer,\n node: t.QualifiedTypeIdentifier,\n) {\n this.print(node.qualification, node);\n this.token(\".\");\n this.print(node.id, node);\n}\n\nexport function SymbolTypeAnnotation(this: Printer) {\n this.word(\"symbol\");\n}\n\nfunction orSeparator(this: Printer) {\n this.space();\n this.token(\"|\");\n this.space();\n}\n\nexport function UnionTypeAnnotation(\n this: Printer,\n node: t.UnionTypeAnnotation,\n) {\n this.printJoin(node.types, node, { separator: orSeparator });\n}\n\nexport function TypeCastExpression(this: Printer, node: t.TypeCastExpression) {\n this.token(\"(\");\n this.print(node.expression, node);\n this.print(node.typeAnnotation, node);\n this.token(\")\");\n}\n\nexport function Variance(this: Printer, node: t.Variance) {\n if (node.kind === \"plus\") {\n this.token(\"+\");\n } else {\n this.token(\"-\");\n }\n}\n\nexport function VoidTypeAnnotation(this: Printer) {\n this.word(\"void\");\n}\n\nexport function IndexedAccessType(this: Printer, node: t.IndexedAccessType) {\n this.print(node.objectType, node, true);\n this.token(\"[\");\n this.print(node.indexType, node);\n this.token(\"]\");\n}\n\nexport function OptionalIndexedAccessType(\n this: Printer,\n node: t.OptionalIndexedAccessType,\n) {\n this.print(node.objectType, node);\n if (node.optional) {\n this.token(\"?.\");\n }\n this.token(\"[\");\n this.print(node.indexType, node);\n this.token(\"]\");\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/jsx.js.map b/node_modules/@babel/generator/lib/generators/jsx.js.map index 5c4aad3ad..ba43ef719 100644 --- a/node_modules/@babel/generator/lib/generators/jsx.js.map +++ b/node_modules/@babel/generator/lib/generators/jsx.js.map @@ -1 +1 @@ -{"version":3,"names":["JSXAttribute","node","print","name","value","token","JSXIdentifier","word","JSXNamespacedName","namespace","JSXMemberExpression","object","property","JSXSpreadAttribute","argument","JSXExpressionContainer","expression","JSXSpreadChild","JSXText","raw","getPossibleRaw","undefined","JSXElement","open","openingElement","selfClosing","indent","child","children","dedent","closingElement","spaceSeparator","space","JSXOpeningElement","typeParameters","attributes","length","printJoin","separator","JSXClosingElement","JSXEmptyExpression","printInnerComments","JSXFragment","openingFragment","closingFragment","JSXOpeningFragment","JSXClosingFragment"],"sources":["../../src/generators/jsx.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport type * as t from \"@babel/types\";\n\nexport function JSXAttribute(this: Printer, node: t.JSXAttribute) {\n this.print(node.name, node);\n if (node.value) {\n this.token(\"=\");\n this.print(node.value, node);\n }\n}\n\nexport function JSXIdentifier(this: Printer, node: t.JSXIdentifier) {\n this.word(node.name);\n}\n\nexport function JSXNamespacedName(this: Printer, node: t.JSXNamespacedName) {\n this.print(node.namespace, node);\n this.token(\":\");\n this.print(node.name, node);\n}\n\nexport function JSXMemberExpression(\n this: Printer,\n node: t.JSXMemberExpression,\n) {\n this.print(node.object, node);\n this.token(\".\");\n this.print(node.property, node);\n}\n\nexport function JSXSpreadAttribute(this: Printer, node: t.JSXSpreadAttribute) {\n this.token(\"{\");\n this.token(\"...\");\n this.print(node.argument, node);\n this.token(\"}\");\n}\n\nexport function JSXExpressionContainer(\n this: Printer,\n node: t.JSXExpressionContainer,\n) {\n this.token(\"{\");\n this.print(node.expression, node);\n this.token(\"}\");\n}\n\nexport function JSXSpreadChild(this: Printer, node: t.JSXSpreadChild) {\n this.token(\"{\");\n this.token(\"...\");\n this.print(node.expression, node);\n this.token(\"}\");\n}\n\nexport function JSXText(this: Printer, node: t.JSXText) {\n const raw = this.getPossibleRaw(node);\n\n if (raw !== undefined) {\n this.token(raw, true);\n } else {\n this.token(node.value, true);\n }\n}\n\nexport function JSXElement(this: Printer, node: t.JSXElement) {\n const open = node.openingElement;\n this.print(open, node);\n if (open.selfClosing) return;\n\n this.indent();\n for (const child of node.children) {\n this.print(child, node);\n }\n this.dedent();\n\n this.print(node.closingElement, node);\n}\n\nfunction spaceSeparator(this: Printer) {\n this.space();\n}\n\nexport function JSXOpeningElement(this: Printer, node: t.JSXOpeningElement) {\n this.token(\"<\");\n this.print(node.name, node);\n this.print(node.typeParameters, node); // TS\n if (node.attributes.length > 0) {\n this.space();\n this.printJoin(node.attributes, node, { separator: spaceSeparator });\n }\n if (node.selfClosing) {\n this.space();\n this.token(\"/>\");\n } else {\n this.token(\">\");\n }\n}\n\nexport function JSXClosingElement(this: Printer, node: t.JSXClosingElement) {\n this.token(\"\");\n}\n\nexport function JSXEmptyExpression(this: Printer) {\n // This node is empty, so forcefully print its inner comments.\n this.printInnerComments();\n}\n\nexport function JSXFragment(this: Printer, node: t.JSXFragment) {\n this.print(node.openingFragment, node);\n\n this.indent();\n for (const child of node.children) {\n this.print(child, node);\n }\n this.dedent();\n\n this.print(node.closingFragment, node);\n}\n\nexport function JSXOpeningFragment(this: Printer) {\n this.token(\"<\");\n this.token(\">\");\n}\n\nexport function JSXClosingFragment(this: Printer) {\n this.token(\"\");\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["JSXAttribute","node","print","name","value","token","JSXIdentifier","word","JSXNamespacedName","namespace","JSXMemberExpression","object","property","JSXSpreadAttribute","argument","JSXExpressionContainer","expression","JSXSpreadChild","JSXText","raw","getPossibleRaw","undefined","JSXElement","open","openingElement","selfClosing","indent","child","children","dedent","closingElement","spaceSeparator","space","JSXOpeningElement","typeParameters","attributes","length","printJoin","separator","JSXClosingElement","JSXEmptyExpression","printInnerComments","JSXFragment","openingFragment","closingFragment","JSXOpeningFragment","JSXClosingFragment"],"sources":["../../src/generators/jsx.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport type * as t from \"@babel/types\";\n\nexport function JSXAttribute(this: Printer, node: t.JSXAttribute) {\n this.print(node.name, node);\n if (node.value) {\n this.token(\"=\");\n this.print(node.value, node);\n }\n}\n\nexport function JSXIdentifier(this: Printer, node: t.JSXIdentifier) {\n this.word(node.name);\n}\n\nexport function JSXNamespacedName(this: Printer, node: t.JSXNamespacedName) {\n this.print(node.namespace, node);\n this.token(\":\");\n this.print(node.name, node);\n}\n\nexport function JSXMemberExpression(\n this: Printer,\n node: t.JSXMemberExpression,\n) {\n this.print(node.object, node);\n this.token(\".\");\n this.print(node.property, node);\n}\n\nexport function JSXSpreadAttribute(this: Printer, node: t.JSXSpreadAttribute) {\n this.token(\"{\");\n this.token(\"...\");\n this.print(node.argument, node);\n this.token(\"}\");\n}\n\nexport function JSXExpressionContainer(\n this: Printer,\n node: t.JSXExpressionContainer,\n) {\n this.token(\"{\");\n this.print(node.expression, node);\n this.token(\"}\");\n}\n\nexport function JSXSpreadChild(this: Printer, node: t.JSXSpreadChild) {\n this.token(\"{\");\n this.token(\"...\");\n this.print(node.expression, node);\n this.token(\"}\");\n}\n\nexport function JSXText(this: Printer, node: t.JSXText) {\n const raw = this.getPossibleRaw(node);\n\n if (raw !== undefined) {\n this.token(raw, true);\n } else {\n this.token(node.value, true);\n }\n}\n\nexport function JSXElement(this: Printer, node: t.JSXElement) {\n const open = node.openingElement;\n this.print(open, node);\n if (open.selfClosing) return;\n\n this.indent();\n for (const child of node.children) {\n this.print(child, node);\n }\n this.dedent();\n\n this.print(node.closingElement, node);\n}\n\nfunction spaceSeparator(this: Printer) {\n this.space();\n}\n\nexport function JSXOpeningElement(this: Printer, node: t.JSXOpeningElement) {\n this.token(\"<\");\n this.print(node.name, node);\n this.print(node.typeParameters, node); // TS\n if (node.attributes.length > 0) {\n this.space();\n this.printJoin(node.attributes, node, { separator: spaceSeparator });\n }\n if (node.selfClosing) {\n this.space();\n this.token(\"/>\");\n } else {\n this.token(\">\");\n }\n}\n\nexport function JSXClosingElement(this: Printer, node: t.JSXClosingElement) {\n this.token(\"\");\n}\n\nexport function JSXEmptyExpression(this: Printer) {\n // This node is empty, so forcefully print its inner comments.\n this.printInnerComments();\n}\n\nexport function JSXFragment(this: Printer, node: t.JSXFragment) {\n this.print(node.openingFragment, node);\n\n this.indent();\n for (const child of node.children) {\n this.print(child, node);\n }\n this.dedent();\n\n this.print(node.closingFragment, node);\n}\n\nexport function JSXOpeningFragment(this: Printer) {\n this.token(\"<\");\n this.token(\">\");\n}\n\nexport function JSXClosingFragment(this: Printer) {\n this.token(\"\");\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAGO,SAASA,YAAYA,CAAgBC,IAAoB,EAAE;EAChE,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,IAAI,EAAEF,IAAI,CAAC;EAC3B,IAAIA,IAAI,CAACG,KAAK,EAAE;IACd,IAAI,CAACC,SAAK,GAAI,CAAC;IACf,IAAI,CAACH,KAAK,CAACD,IAAI,CAACG,KAAK,EAAEH,IAAI,CAAC;EAC9B;AACF;AAEO,SAASK,aAAaA,CAAgBL,IAAqB,EAAE;EAClE,IAAI,CAACM,IAAI,CAACN,IAAI,CAACE,IAAI,CAAC;AACtB;AAEO,SAASK,iBAAiBA,CAAgBP,IAAyB,EAAE;EAC1E,IAAI,CAACC,KAAK,CAACD,IAAI,CAACQ,SAAS,EAAER,IAAI,CAAC;EAChC,IAAI,CAACI,SAAK,GAAI,CAAC;EACf,IAAI,CAACH,KAAK,CAACD,IAAI,CAACE,IAAI,EAAEF,IAAI,CAAC;AAC7B;AAEO,SAASS,mBAAmBA,CAEjCT,IAA2B,EAC3B;EACA,IAAI,CAACC,KAAK,CAACD,IAAI,CAACU,MAAM,EAAEV,IAAI,CAAC;EAC7B,IAAI,CAACI,SAAK,GAAI,CAAC;EACf,IAAI,CAACH,KAAK,CAACD,IAAI,CAACW,QAAQ,EAAEX,IAAI,CAAC;AACjC;AAEO,SAASY,kBAAkBA,CAAgBZ,IAA0B,EAAE;EAC5E,IAAI,CAACI,SAAK,IAAI,CAAC;EACf,IAAI,CAACA,KAAK,CAAC,KAAK,CAAC;EACjB,IAAI,CAACH,KAAK,CAACD,IAAI,CAACa,QAAQ,EAAEb,IAAI,CAAC;EAC/B,IAAI,CAACI,SAAK,IAAI,CAAC;AACjB;AAEO,SAASU,sBAAsBA,CAEpCd,IAA8B,EAC9B;EACA,IAAI,CAACI,SAAK,IAAI,CAAC;EACf,IAAI,CAACH,KAAK,CAACD,IAAI,CAACe,UAAU,EAAEf,IAAI,CAAC;EACjC,IAAI,CAACI,SAAK,IAAI,CAAC;AACjB;AAEO,SAASY,cAAcA,CAAgBhB,IAAsB,EAAE;EACpE,IAAI,CAACI,SAAK,IAAI,CAAC;EACf,IAAI,CAACA,KAAK,CAAC,KAAK,CAAC;EACjB,IAAI,CAACH,KAAK,CAACD,IAAI,CAACe,UAAU,EAAEf,IAAI,CAAC;EACjC,IAAI,CAACI,SAAK,IAAI,CAAC;AACjB;AAEO,SAASa,OAAOA,CAAgBjB,IAAe,EAAE;EACtD,MAAMkB,GAAG,GAAG,IAAI,CAACC,cAAc,CAACnB,IAAI,CAAC;EAErC,IAAIkB,GAAG,KAAKE,SAAS,EAAE;IACrB,IAAI,CAAChB,KAAK,CAACc,GAAG,EAAE,IAAI,CAAC;EACvB,CAAC,MAAM;IACL,IAAI,CAACd,KAAK,CAACJ,IAAI,CAACG,KAAK,EAAE,IAAI,CAAC;EAC9B;AACF;AAEO,SAASkB,UAAUA,CAAgBrB,IAAkB,EAAE;EAC5D,MAAMsB,IAAI,GAAGtB,IAAI,CAACuB,cAAc;EAChC,IAAI,CAACtB,KAAK,CAACqB,IAAI,EAAEtB,IAAI,CAAC;EACtB,IAAIsB,IAAI,CAACE,WAAW,EAAE;EAEtB,IAAI,CAACC,MAAM,CAAC,CAAC;EACb,KAAK,MAAMC,KAAK,IAAI1B,IAAI,CAAC2B,QAAQ,EAAE;IACjC,IAAI,CAAC1B,KAAK,CAACyB,KAAK,EAAE1B,IAAI,CAAC;EACzB;EACA,IAAI,CAAC4B,MAAM,CAAC,CAAC;EAEb,IAAI,CAAC3B,KAAK,CAACD,IAAI,CAAC6B,cAAc,EAAE7B,IAAI,CAAC;AACvC;AAEA,SAAS8B,cAAcA,CAAA,EAAgB;EACrC,IAAI,CAACC,KAAK,CAAC,CAAC;AACd;AAEO,SAASC,iBAAiBA,CAAgBhC,IAAyB,EAAE;EAC1E,IAAI,CAACI,SAAK,GAAI,CAAC;EACf,IAAI,CAACH,KAAK,CAACD,IAAI,CAACE,IAAI,EAAEF,IAAI,CAAC;EAC3B,IAAI,CAACC,KAAK,CAACD,IAAI,CAACiC,cAAc,EAAEjC,IAAI,CAAC;EACrC,IAAIA,IAAI,CAACkC,UAAU,CAACC,MAAM,GAAG,CAAC,EAAE;IAC9B,IAAI,CAACJ,KAAK,CAAC,CAAC;IACZ,IAAI,CAACK,SAAS,CAACpC,IAAI,CAACkC,UAAU,EAAElC,IAAI,EAAE;MAAEqC,SAAS,EAAEP;IAAe,CAAC,CAAC;EACtE;EACA,IAAI9B,IAAI,CAACwB,WAAW,EAAE;IACpB,IAAI,CAACO,KAAK,CAAC,CAAC;IACZ,IAAI,CAAC3B,KAAK,CAAC,IAAI,CAAC;EAClB,CAAC,MAAM;IACL,IAAI,CAACA,SAAK,GAAI,CAAC;EACjB;AACF;AAEO,SAASkC,iBAAiBA,CAAgBtC,IAAyB,EAAE;EAC1E,IAAI,CAACI,KAAK,CAAC,IAAI,CAAC;EAChB,IAAI,CAACH,KAAK,CAACD,IAAI,CAACE,IAAI,EAAEF,IAAI,CAAC;EAC3B,IAAI,CAACI,SAAK,GAAI,CAAC;AACjB;AAEO,SAASmC,kBAAkBA,CAAA,EAAgB;EAEhD,IAAI,CAACC,kBAAkB,CAAC,CAAC;AAC3B;AAEO,SAASC,WAAWA,CAAgBzC,IAAmB,EAAE;EAC9D,IAAI,CAACC,KAAK,CAACD,IAAI,CAAC0C,eAAe,EAAE1C,IAAI,CAAC;EAEtC,IAAI,CAACyB,MAAM,CAAC,CAAC;EACb,KAAK,MAAMC,KAAK,IAAI1B,IAAI,CAAC2B,QAAQ,EAAE;IACjC,IAAI,CAAC1B,KAAK,CAACyB,KAAK,EAAE1B,IAAI,CAAC;EACzB;EACA,IAAI,CAAC4B,MAAM,CAAC,CAAC;EAEb,IAAI,CAAC3B,KAAK,CAACD,IAAI,CAAC2C,eAAe,EAAE3C,IAAI,CAAC;AACxC;AAEO,SAAS4C,kBAAkBA,CAAA,EAAgB;EAChD,IAAI,CAACxC,SAAK,GAAI,CAAC;EACf,IAAI,CAACA,SAAK,GAAI,CAAC;AACjB;AAEO,SAASyC,kBAAkBA,CAAA,EAAgB;EAChD,IAAI,CAACzC,KAAK,CAAC,IAAI,CAAC;EAChB,IAAI,CAACA,SAAK,GAAI,CAAC;AACjB"} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/methods.js.map b/node_modules/@babel/generator/lib/generators/methods.js.map index f06bc77f1..1a42069df 100644 --- a/node_modules/@babel/generator/lib/generators/methods.js.map +++ b/node_modules/@babel/generator/lib/generators/methods.js.map @@ -1 +1 @@ -{"version":3,"names":["_t","require","isIdentifier","_params","node","idNode","parentNode","print","typeParameters","nameInfo","_getFuncIdName","call","sourceIdentifierName","name","pos","token","_parameters","params","noLineTerminator","type","returnType","_noLineTerminator","parameters","parent","paramLength","length","i","_param","space","parameter","printJoin","decorators","optional","typeAnnotation","_methodHead","kind","key","word","async","generator","computed","undefined","_predicate","noLineTerminatorAfter","predicate","_functionHead","_endsWithInnerRaw","id","FunctionExpression","body","ArrowFunctionExpression","firstParam","format","retainLines","hasTypesOrComments","printInnerComments","param","_param$leadingComment","_param$trailingCommen","leadingComments","trailingComments","parentType","left","_id$loc","_id$loc2","loc","start","identifierName","_id$loc3","_id$loc4","value"],"sources":["../../src/generators/methods.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport type * as t from \"@babel/types\";\nimport { isIdentifier } from \"@babel/types\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport function _params(\n this: Printer,\n node: t.Function | t.TSDeclareMethod | t.TSDeclareFunction,\n idNode: t.Expression | t.PrivateName,\n parentNode: NodePath<\n t.Function | t.TSDeclareMethod | t.TSDeclareFunction\n >[\"parent\"],\n) {\n this.print(node.typeParameters, node);\n\n const nameInfo = _getFuncIdName.call(this, idNode, parentNode);\n if (nameInfo) {\n this.sourceIdentifierName(nameInfo.name, nameInfo.pos);\n }\n\n this.token(\"(\");\n this._parameters(node.params, node);\n this.token(\")\");\n\n const noLineTerminator = node.type === \"ArrowFunctionExpression\";\n this.print(node.returnType, node, noLineTerminator);\n\n this._noLineTerminator = noLineTerminator;\n}\n\nexport function _parameters(\n this: Printer,\n parameters: t.Function[\"params\"],\n parent:\n | t.Function\n | t.TSIndexSignature\n | t.TSDeclareMethod\n | t.TSDeclareFunction\n | t.TSFunctionType\n | t.TSConstructorType,\n) {\n const paramLength = parameters.length;\n for (let i = 0; i < paramLength; i++) {\n this._param(parameters[i], parent);\n\n if (i < parameters.length - 1) {\n this.token(\",\");\n this.space();\n }\n }\n}\n\nexport function _param(\n this: Printer,\n parameter: t.Identifier | t.RestElement | t.Pattern | t.TSParameterProperty,\n parent?:\n | t.Function\n | t.TSIndexSignature\n | t.TSDeclareMethod\n | t.TSDeclareFunction\n | t.TSFunctionType\n | t.TSConstructorType,\n) {\n this.printJoin(parameter.decorators, parameter);\n this.print(parameter, parent);\n if (\n // @ts-expect-error optional is not in TSParameterProperty\n parameter.optional\n ) {\n this.token(\"?\"); // TS / flow\n }\n\n this.print(\n // @ts-expect-error typeAnnotation is not in TSParameterProperty\n parameter.typeAnnotation,\n parameter,\n ); // TS / flow\n}\n\nexport function _methodHead(this: Printer, node: t.Method | t.TSDeclareMethod) {\n const kind = node.kind;\n const key = node.key;\n\n if (kind === \"get\" || kind === \"set\") {\n this.word(kind);\n this.space();\n }\n\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n\n if (\n kind === \"method\" ||\n // @ts-expect-error Fixme: kind: \"init\" is not defined\n kind === \"init\"\n ) {\n if (node.generator) {\n this.token(\"*\");\n }\n }\n\n if (node.computed) {\n this.token(\"[\");\n this.print(key, node);\n this.token(\"]\");\n } else {\n this.print(key, node);\n }\n\n if (\n // @ts-expect-error optional is not in ObjectMethod\n node.optional\n ) {\n // TS\n this.token(\"?\");\n }\n\n this._params(\n node,\n node.computed && node.key.type !== \"StringLiteral\" ? undefined : node.key,\n undefined,\n );\n}\n\nexport function _predicate(\n this: Printer,\n node:\n | t.FunctionDeclaration\n | t.FunctionExpression\n | t.ArrowFunctionExpression,\n noLineTerminatorAfter?: boolean,\n) {\n if (node.predicate) {\n if (!node.returnType) {\n this.token(\":\");\n }\n this.space();\n this.print(node.predicate, node, noLineTerminatorAfter);\n }\n}\n\nexport function _functionHead(\n this: Printer,\n node: t.FunctionDeclaration | t.FunctionExpression | t.TSDeclareFunction,\n parent: NodePath<\n t.FunctionDeclaration | t.FunctionExpression | t.TSDeclareFunction\n >[\"parent\"],\n) {\n if (node.async) {\n this.word(\"async\");\n // We prevent inner comments from being printed here,\n // so that they are always consistently printed in the\n // same place regardless of the function type.\n this._endsWithInnerRaw = false;\n this.space();\n }\n this.word(\"function\");\n if (node.generator) {\n // We prevent inner comments from being printed here,\n // so that they are always consistently printed in the\n // same place regardless of the function type.\n this._endsWithInnerRaw = false;\n this.token(\"*\");\n }\n\n this.space();\n if (node.id) {\n this.print(node.id, node);\n }\n\n this._params(node, node.id, parent);\n if (node.type !== \"TSDeclareFunction\") {\n this._predicate(node);\n }\n}\n\nexport function FunctionExpression(\n this: Printer,\n node: t.FunctionExpression,\n parent: NodePath[\"parent\"],\n) {\n this._functionHead(node, parent);\n this.space();\n this.print(node.body, node);\n}\n\nexport { FunctionExpression as FunctionDeclaration };\n\nexport function ArrowFunctionExpression(\n this: Printer,\n node: t.ArrowFunctionExpression,\n parent: NodePath[\"parent\"],\n) {\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n\n // Try to avoid printing parens in simple cases, but only if we're pretty\n // sure that they aren't needed by type annotations or potential newlines.\n let firstParam;\n if (\n !this.format.retainLines &&\n node.params.length === 1 &&\n isIdentifier((firstParam = node.params[0])) &&\n !hasTypesOrComments(node, firstParam)\n ) {\n this.print(firstParam, node, true);\n } else {\n this._params(node, undefined, parent);\n }\n\n this._predicate(node, true);\n this.space();\n // When printing (x)/*1*/=>{}, we remove the parentheses\n // and thus there aren't two contiguous inner tokens.\n // We forcefully print inner comments here.\n this.printInnerComments();\n this.token(\"=>\");\n\n this.space();\n\n this.print(node.body, node);\n}\n\nfunction hasTypesOrComments(\n node: t.ArrowFunctionExpression,\n param: t.Identifier,\n): boolean {\n return !!(\n node.typeParameters ||\n node.returnType ||\n node.predicate ||\n param.typeAnnotation ||\n param.optional ||\n // Flow does not support `foo /*: string*/ => {};`\n param.leadingComments?.length ||\n param.trailingComments?.length\n );\n}\n\nfunction _getFuncIdName(\n this: Printer,\n idNode: t.Expression | t.PrivateName,\n parent: NodePath<\n t.Function | t.TSDeclareMethod | t.TSDeclareFunction\n >[\"parent\"],\n) {\n let id: t.Expression | t.PrivateName | t.LVal = idNode;\n\n if (!id && parent) {\n const parentType = parent.type;\n\n if (parentType === \"VariableDeclarator\") {\n id = parent.id;\n } else if (\n parentType === \"AssignmentExpression\" ||\n parentType === \"AssignmentPattern\"\n ) {\n id = parent.left;\n } else if (\n parentType === \"ObjectProperty\" ||\n parentType === \"ClassProperty\"\n ) {\n if (!parent.computed || parent.key.type === \"StringLiteral\") {\n id = parent.key;\n }\n } else if (\n parentType === \"ClassPrivateProperty\" ||\n parentType === \"ClassAccessorProperty\"\n ) {\n id = parent.key;\n }\n }\n\n if (!id) return;\n\n let nameInfo;\n\n if (id.type === \"Identifier\") {\n nameInfo = {\n pos: id.loc?.start,\n name:\n // @ts-expect-error Undocumented property identifierName\n id.loc?.identifierName || id.name,\n };\n } else if (id.type === \"PrivateName\") {\n nameInfo = {\n pos: id.loc?.start,\n name: \"#\" + id.id.name,\n };\n } else if (id.type === \"StringLiteral\") {\n nameInfo = {\n pos: id.loc?.start,\n name: id.value,\n };\n }\n\n return nameInfo;\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_t","require","isIdentifier","_params","node","idNode","parentNode","print","typeParameters","nameInfo","_getFuncIdName","call","sourceIdentifierName","name","pos","token","_parameters","params","noLineTerminator","type","returnType","_noLineTerminator","parameters","parent","paramLength","length","i","_param","space","parameter","printJoin","decorators","optional","typeAnnotation","_methodHead","kind","key","word","async","generator","computed","undefined","_predicate","noLineTerminatorAfter","predicate","_functionHead","_endsWithInnerRaw","id","FunctionExpression","body","ArrowFunctionExpression","firstParam","format","retainLines","hasTypesOrComments","printInnerComments","param","_param$leadingComment","_param$trailingCommen","leadingComments","trailingComments","parentType","left","_id$loc","_id$loc2","loc","start","identifierName","_id$loc3","_id$loc4","value"],"sources":["../../src/generators/methods.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport type * as t from \"@babel/types\";\nimport { isIdentifier } from \"@babel/types\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport function _params(\n this: Printer,\n node: t.Function | t.TSDeclareMethod | t.TSDeclareFunction,\n idNode: t.Expression | t.PrivateName,\n parentNode: NodePath<\n t.Function | t.TSDeclareMethod | t.TSDeclareFunction\n >[\"parent\"],\n) {\n this.print(node.typeParameters, node);\n\n const nameInfo = _getFuncIdName.call(this, idNode, parentNode);\n if (nameInfo) {\n this.sourceIdentifierName(nameInfo.name, nameInfo.pos);\n }\n\n this.token(\"(\");\n this._parameters(node.params, node);\n this.token(\")\");\n\n const noLineTerminator = node.type === \"ArrowFunctionExpression\";\n this.print(node.returnType, node, noLineTerminator);\n\n this._noLineTerminator = noLineTerminator;\n}\n\nexport function _parameters(\n this: Printer,\n parameters: t.Function[\"params\"],\n parent:\n | t.Function\n | t.TSIndexSignature\n | t.TSDeclareMethod\n | t.TSDeclareFunction\n | t.TSFunctionType\n | t.TSConstructorType,\n) {\n const paramLength = parameters.length;\n for (let i = 0; i < paramLength; i++) {\n this._param(parameters[i], parent);\n\n if (i < parameters.length - 1) {\n this.token(\",\");\n this.space();\n }\n }\n}\n\nexport function _param(\n this: Printer,\n parameter: t.Identifier | t.RestElement | t.Pattern | t.TSParameterProperty,\n parent?:\n | t.Function\n | t.TSIndexSignature\n | t.TSDeclareMethod\n | t.TSDeclareFunction\n | t.TSFunctionType\n | t.TSConstructorType,\n) {\n this.printJoin(parameter.decorators, parameter);\n this.print(parameter, parent);\n if (\n // @ts-expect-error optional is not in TSParameterProperty\n parameter.optional\n ) {\n this.token(\"?\"); // TS / flow\n }\n\n this.print(\n // @ts-expect-error typeAnnotation is not in TSParameterProperty\n parameter.typeAnnotation,\n parameter,\n ); // TS / flow\n}\n\nexport function _methodHead(this: Printer, node: t.Method | t.TSDeclareMethod) {\n const kind = node.kind;\n const key = node.key;\n\n if (kind === \"get\" || kind === \"set\") {\n this.word(kind);\n this.space();\n }\n\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n\n if (\n kind === \"method\" ||\n // @ts-expect-error Fixme: kind: \"init\" is not defined\n kind === \"init\"\n ) {\n if (node.generator) {\n this.token(\"*\");\n }\n }\n\n if (node.computed) {\n this.token(\"[\");\n this.print(key, node);\n this.token(\"]\");\n } else {\n this.print(key, node);\n }\n\n if (\n // @ts-expect-error optional is not in ObjectMethod\n node.optional\n ) {\n // TS\n this.token(\"?\");\n }\n\n this._params(\n node,\n node.computed && node.key.type !== \"StringLiteral\" ? undefined : node.key,\n undefined,\n );\n}\n\nexport function _predicate(\n this: Printer,\n node:\n | t.FunctionDeclaration\n | t.FunctionExpression\n | t.ArrowFunctionExpression,\n noLineTerminatorAfter?: boolean,\n) {\n if (node.predicate) {\n if (!node.returnType) {\n this.token(\":\");\n }\n this.space();\n this.print(node.predicate, node, noLineTerminatorAfter);\n }\n}\n\nexport function _functionHead(\n this: Printer,\n node: t.FunctionDeclaration | t.FunctionExpression | t.TSDeclareFunction,\n parent: NodePath<\n t.FunctionDeclaration | t.FunctionExpression | t.TSDeclareFunction\n >[\"parent\"],\n) {\n if (node.async) {\n this.word(\"async\");\n // We prevent inner comments from being printed here,\n // so that they are always consistently printed in the\n // same place regardless of the function type.\n this._endsWithInnerRaw = false;\n this.space();\n }\n this.word(\"function\");\n if (node.generator) {\n // We prevent inner comments from being printed here,\n // so that they are always consistently printed in the\n // same place regardless of the function type.\n this._endsWithInnerRaw = false;\n this.token(\"*\");\n }\n\n this.space();\n if (node.id) {\n this.print(node.id, node);\n }\n\n this._params(node, node.id, parent);\n if (node.type !== \"TSDeclareFunction\") {\n this._predicate(node);\n }\n}\n\nexport function FunctionExpression(\n this: Printer,\n node: t.FunctionExpression,\n parent: NodePath[\"parent\"],\n) {\n this._functionHead(node, parent);\n this.space();\n this.print(node.body, node);\n}\n\nexport { FunctionExpression as FunctionDeclaration };\n\nexport function ArrowFunctionExpression(\n this: Printer,\n node: t.ArrowFunctionExpression,\n parent: NodePath[\"parent\"],\n) {\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n\n // Try to avoid printing parens in simple cases, but only if we're pretty\n // sure that they aren't needed by type annotations or potential newlines.\n let firstParam;\n if (\n !this.format.retainLines &&\n node.params.length === 1 &&\n isIdentifier((firstParam = node.params[0])) &&\n !hasTypesOrComments(node, firstParam)\n ) {\n this.print(firstParam, node, true);\n } else {\n this._params(node, undefined, parent);\n }\n\n this._predicate(node, true);\n this.space();\n // When printing (x)/*1*/=>{}, we remove the parentheses\n // and thus there aren't two contiguous inner tokens.\n // We forcefully print inner comments here.\n this.printInnerComments();\n this.token(\"=>\");\n\n this.space();\n\n this.print(node.body, node);\n}\n\nfunction hasTypesOrComments(\n node: t.ArrowFunctionExpression,\n param: t.Identifier,\n): boolean {\n return !!(\n node.typeParameters ||\n node.returnType ||\n node.predicate ||\n param.typeAnnotation ||\n param.optional ||\n // Flow does not support `foo /*: string*/ => {};`\n param.leadingComments?.length ||\n param.trailingComments?.length\n );\n}\n\nfunction _getFuncIdName(\n this: Printer,\n idNode: t.Expression | t.PrivateName,\n parent: NodePath<\n t.Function | t.TSDeclareMethod | t.TSDeclareFunction\n >[\"parent\"],\n) {\n let id: t.Expression | t.PrivateName | t.LVal = idNode;\n\n if (!id && parent) {\n const parentType = parent.type;\n\n if (parentType === \"VariableDeclarator\") {\n id = parent.id;\n } else if (\n parentType === \"AssignmentExpression\" ||\n parentType === \"AssignmentPattern\"\n ) {\n id = parent.left;\n } else if (\n parentType === \"ObjectProperty\" ||\n parentType === \"ClassProperty\"\n ) {\n if (!parent.computed || parent.key.type === \"StringLiteral\") {\n id = parent.key;\n }\n } else if (\n parentType === \"ClassPrivateProperty\" ||\n parentType === \"ClassAccessorProperty\"\n ) {\n id = parent.key;\n }\n }\n\n if (!id) return;\n\n let nameInfo;\n\n if (id.type === \"Identifier\") {\n nameInfo = {\n pos: id.loc?.start,\n name:\n // @ts-expect-error Undocumented property identifierName\n id.loc?.identifierName || id.name,\n };\n } else if (id.type === \"PrivateName\") {\n nameInfo = {\n pos: id.loc?.start,\n name: \"#\" + id.id.name,\n };\n } else if (id.type === \"StringLiteral\") {\n nameInfo = {\n pos: id.loc?.start,\n name: id.value,\n };\n }\n\n return nameInfo;\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/modules.js b/node_modules/@babel/generator/lib/generators/modules.js index 8ee280c32..b5691d5ec 100644 --- a/node_modules/@babel/generator/lib/generators/modules.js +++ b/node_modules/@babel/generator/lib/generators/modules.js @@ -14,7 +14,7 @@ exports.ImportDeclaration = ImportDeclaration; exports.ImportDefaultSpecifier = ImportDefaultSpecifier; exports.ImportNamespaceSpecifier = ImportNamespaceSpecifier; exports.ImportSpecifier = ImportSpecifier; -exports._printAssertions = _printAssertions; +exports._printAttributes = _printAttributes; var _t = require("@babel/types"); const { isClassDeclaration, @@ -63,17 +63,40 @@ function ExportNamespaceSpecifier(node) { this.space(); this.print(node.exported, node); } -function _printAssertions(node) { - this.word("assert"); +let warningShown = false; +function _printAttributes(node) { + const { + importAttributesKeyword + } = this.format; + const { + attributes, + assertions + } = node; + if (attributes && !importAttributesKeyword && !warningShown) { + warningShown = true; + console.warn(`\ +You are using import attributes, without specifying the desired output syntax. +Please specify the "importAttributesKeyword" generator option, whose value can be one of: + - "with" : \`import { a } from "b" with { type: "json" };\` + - "assert" : \`import { a } from "b" assert { type: "json" };\` + - "with-legacy" : \`import { a } from "b" with type: "json";\` +`); + } + const useAssertKeyword = importAttributesKeyword === "assert" || !importAttributesKeyword && assertions; + this.word(useAssertKeyword ? "assert" : "with"); this.space(); + if (!useAssertKeyword && importAttributesKeyword !== "with") { + this.printList(attributes || assertions, node); + return; + } this.tokenChar(123); this.space(); - this.printList(node.assertions, node); + this.printList(attributes || assertions, node); this.space(); this.tokenChar(125); } function ExportAllDeclaration(node) { - var _node$assertions; + var _node$attributes, _node$assertions; this.word("export"); this.space(); if (node.exportKind === "type") { @@ -84,10 +107,10 @@ function ExportAllDeclaration(node) { this.space(); this.word("from"); this.space(); - if ((_node$assertions = node.assertions) != null && _node$assertions.length) { + if ((_node$attributes = node.attributes) != null && _node$attributes.length || (_node$assertions = node.assertions) != null && _node$assertions.length) { this.print(node.source, node, true); this.space(); - this._printAssertions(node); + this._printAttributes(node); } else { this.print(node.source, node); } @@ -136,14 +159,14 @@ function ExportNamedDeclaration(node) { this.tokenChar(125); } if (node.source) { - var _node$assertions2; + var _node$attributes2, _node$assertions2; this.space(); this.word("from"); this.space(); - if ((_node$assertions2 = node.assertions) != null && _node$assertions2.length) { + if ((_node$attributes2 = node.attributes) != null && _node$attributes2.length || (_node$assertions2 = node.assertions) != null && _node$assertions2.length) { this.print(node.source, node, true); this.space(); - this._printAssertions(node); + this._printAttributes(node); } else { this.print(node.source, node); } @@ -163,7 +186,7 @@ function ExportDefaultDeclaration(node) { if (!isStatement(declar)) this.semicolon(); } function ImportDeclaration(node) { - var _node$assertions3; + var _node$attributes3, _node$assertions3; this.word("import"); this.space(); const isTypeKind = node.importKind === "type" || node.importKind === "typeof"; @@ -205,22 +228,13 @@ function ImportDeclaration(node) { this.word("from"); this.space(); } - if ((_node$assertions3 = node.assertions) != null && _node$assertions3.length) { + if ((_node$attributes3 = node.attributes) != null && _node$attributes3.length || (_node$assertions3 = node.assertions) != null && _node$assertions3.length) { this.print(node.source, node, true); this.space(); - this._printAssertions(node); + this._printAttributes(node); } else { this.print(node.source, node); } - { - var _node$attributes; - if ((_node$attributes = node.attributes) != null && _node$attributes.length) { - this.space(); - this.word("with"); - this.space(); - this.printList(node.attributes, node); - } - } this.semicolon(); } function ImportAttribute(node) { diff --git a/node_modules/@babel/generator/lib/generators/modules.js.map b/node_modules/@babel/generator/lib/generators/modules.js.map index 4df3c9c1f..1b3412962 100644 --- a/node_modules/@babel/generator/lib/generators/modules.js.map +++ b/node_modules/@babel/generator/lib/generators/modules.js.map @@ -1 +1 @@ -{"version":3,"names":["_t","require","isClassDeclaration","isExportDefaultSpecifier","isExportNamespaceSpecifier","isImportDefaultSpecifier","isImportNamespaceSpecifier","isStatement","ImportSpecifier","node","importKind","word","space","print","imported","local","name","ImportDefaultSpecifier","ExportDefaultSpecifier","exported","ExportSpecifier","exportKind","ExportNamespaceSpecifier","token","_printAssertions","printList","assertions","ExportAllDeclaration","_node$assertions","length","source","semicolon","maybePrintDecoratorsBeforeExport","printer","declaration","_shouldPrintDecoratorsBeforeExport","printJoin","decorators","ExportNamedDeclaration","declar","specifiers","slice","hasSpecial","first","shift","_node$assertions2","ExportDefaultDeclaration","noIndentInnerCommentsHere","ImportDeclaration","_node$assertions3","isTypeKind","module","hasSpecifiers","_node$attributes","attributes","ImportAttribute","key","value","ImportNamespaceSpecifier"],"sources":["../../src/generators/modules.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport {\n isClassDeclaration,\n isExportDefaultSpecifier,\n isExportNamespaceSpecifier,\n isImportDefaultSpecifier,\n isImportNamespaceSpecifier,\n isStatement,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\nexport function ImportSpecifier(this: Printer, node: t.ImportSpecifier) {\n if (node.importKind === \"type\" || node.importKind === \"typeof\") {\n this.word(node.importKind);\n this.space();\n }\n\n this.print(node.imported, node);\n // @ts-expect-error todo(flow-ts) maybe check node type instead of relying on name to be undefined on t.StringLiteral\n if (node.local && node.local.name !== node.imported.name) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.local, node);\n }\n}\n\nexport function ImportDefaultSpecifier(\n this: Printer,\n node: t.ImportDefaultSpecifier,\n) {\n this.print(node.local, node);\n}\n\nexport function ExportDefaultSpecifier(\n this: Printer,\n node: t.ExportDefaultSpecifier,\n) {\n this.print(node.exported, node);\n}\n\nexport function ExportSpecifier(this: Printer, node: t.ExportSpecifier) {\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n\n this.print(node.local, node);\n // @ts-expect-error todo(flow-ts) maybe check node type instead of relying on name to be undefined on t.StringLiteral\n if (node.exported && node.local.name !== node.exported.name) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.exported, node);\n }\n}\n\nexport function ExportNamespaceSpecifier(\n this: Printer,\n node: t.ExportNamespaceSpecifier,\n) {\n this.token(\"*\");\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.exported, node);\n}\n\nexport function _printAssertions(\n this: Printer,\n node: Extract,\n) {\n this.word(\"assert\");\n this.space();\n this.token(\"{\");\n this.space();\n this.printList(node.assertions, node);\n this.space();\n this.token(\"}\");\n}\n\nexport function ExportAllDeclaration(\n this: Printer,\n node: t.ExportAllDeclaration | t.DeclareExportAllDeclaration,\n) {\n this.word(\"export\");\n this.space();\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n this.token(\"*\");\n this.space();\n this.word(\"from\");\n this.space();\n // @ts-expect-error Fixme: assertions is not defined in DeclareExportAllDeclaration\n if (node.assertions?.length) {\n this.print(node.source, node, true);\n this.space();\n // @ts-expect-error Fixme: assertions is not defined in DeclareExportAllDeclaration\n this._printAssertions(node);\n } else {\n this.print(node.source, node);\n }\n\n this.semicolon();\n}\n\nfunction maybePrintDecoratorsBeforeExport(\n printer: Printer,\n node: t.ExportNamedDeclaration | t.ExportDefaultDeclaration,\n) {\n if (\n isClassDeclaration(node.declaration) &&\n printer._shouldPrintDecoratorsBeforeExport(\n node as t.ExportNamedDeclaration & { declaration: t.ClassDeclaration },\n )\n ) {\n printer.printJoin(node.declaration.decorators, node);\n }\n}\n\nexport function ExportNamedDeclaration(\n this: Printer,\n node: t.ExportNamedDeclaration,\n) {\n maybePrintDecoratorsBeforeExport(this, node);\n\n this.word(\"export\");\n this.space();\n if (node.declaration) {\n const declar = node.declaration;\n this.print(declar, node);\n if (!isStatement(declar)) this.semicolon();\n } else {\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n\n const specifiers = node.specifiers.slice(0);\n\n // print \"special\" specifiers first\n let hasSpecial = false;\n for (;;) {\n const first = specifiers[0];\n if (\n isExportDefaultSpecifier(first) ||\n isExportNamespaceSpecifier(first)\n ) {\n hasSpecial = true;\n this.print(specifiers.shift(), node);\n if (specifiers.length) {\n this.token(\",\");\n this.space();\n }\n } else {\n break;\n }\n }\n\n if (specifiers.length || (!specifiers.length && !hasSpecial)) {\n this.token(\"{\");\n if (specifiers.length) {\n this.space();\n this.printList(specifiers, node);\n this.space();\n }\n this.token(\"}\");\n }\n\n if (node.source) {\n this.space();\n this.word(\"from\");\n this.space();\n if (node.assertions?.length) {\n this.print(node.source, node, true);\n this.space();\n this._printAssertions(node);\n } else {\n this.print(node.source, node);\n }\n }\n\n this.semicolon();\n }\n}\n\nexport function ExportDefaultDeclaration(\n this: Printer,\n node: t.ExportDefaultDeclaration,\n) {\n maybePrintDecoratorsBeforeExport(this, node);\n\n this.word(\"export\");\n this.noIndentInnerCommentsHere();\n this.space();\n this.word(\"default\");\n this.space();\n const declar = node.declaration;\n this.print(declar, node);\n if (!isStatement(declar)) this.semicolon();\n}\n\nexport function ImportDeclaration(this: Printer, node: t.ImportDeclaration) {\n this.word(\"import\");\n this.space();\n\n const isTypeKind = node.importKind === \"type\" || node.importKind === \"typeof\";\n if (isTypeKind) {\n this.noIndentInnerCommentsHere();\n this.word(node.importKind);\n this.space();\n } else if (node.module) {\n this.noIndentInnerCommentsHere();\n this.word(\"module\");\n this.space();\n }\n\n const specifiers = node.specifiers.slice(0);\n const hasSpecifiers = !!specifiers.length;\n // print \"special\" specifiers first. The loop condition is constant,\n // but there is a \"break\" in the body.\n while (hasSpecifiers) {\n const first = specifiers[0];\n if (isImportDefaultSpecifier(first) || isImportNamespaceSpecifier(first)) {\n this.print(specifiers.shift(), node);\n if (specifiers.length) {\n this.token(\",\");\n this.space();\n }\n } else {\n break;\n }\n }\n\n if (specifiers.length) {\n this.token(\"{\");\n this.space();\n this.printList(specifiers, node);\n this.space();\n this.token(\"}\");\n } else if (isTypeKind && !hasSpecifiers) {\n this.token(\"{\");\n this.token(\"}\");\n }\n\n if (hasSpecifiers || isTypeKind) {\n this.space();\n this.word(\"from\");\n this.space();\n }\n\n if (node.assertions?.length) {\n this.print(node.source, node, true);\n this.space();\n this._printAssertions(node);\n } else {\n this.print(node.source, node);\n }\n if (!process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 supports module attributes\n if (node.attributes?.length) {\n this.space();\n this.word(\"with\");\n this.space();\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 supports module attributes\n this.printList(node.attributes, node);\n }\n }\n\n this.semicolon();\n}\n\nexport function ImportAttribute(this: Printer, node: t.ImportAttribute) {\n this.print(node.key);\n this.token(\":\");\n this.space();\n this.print(node.value);\n}\n\nexport function ImportNamespaceSpecifier(\n this: Printer,\n node: t.ImportNamespaceSpecifier,\n) {\n this.token(\"*\");\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.local, node);\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_t","require","isClassDeclaration","isExportDefaultSpecifier","isExportNamespaceSpecifier","isImportDefaultSpecifier","isImportNamespaceSpecifier","isStatement","ImportSpecifier","node","importKind","word","space","print","imported","local","name","ImportDefaultSpecifier","ExportDefaultSpecifier","exported","ExportSpecifier","exportKind","ExportNamespaceSpecifier","token","warningShown","_printAttributes","importAttributesKeyword","format","attributes","assertions","console","warn","useAssertKeyword","printList","ExportAllDeclaration","_node$attributes","_node$assertions","length","source","semicolon","maybePrintDecoratorsBeforeExport","printer","declaration","_shouldPrintDecoratorsBeforeExport","printJoin","decorators","ExportNamedDeclaration","declar","specifiers","slice","hasSpecial","first","shift","_node$attributes2","_node$assertions2","ExportDefaultDeclaration","noIndentInnerCommentsHere","ImportDeclaration","_node$attributes3","_node$assertions3","isTypeKind","module","hasSpecifiers","ImportAttribute","key","value","ImportNamespaceSpecifier"],"sources":["../../src/generators/modules.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport {\n isClassDeclaration,\n isExportDefaultSpecifier,\n isExportNamespaceSpecifier,\n isImportDefaultSpecifier,\n isImportNamespaceSpecifier,\n isStatement,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\nexport function ImportSpecifier(this: Printer, node: t.ImportSpecifier) {\n if (node.importKind === \"type\" || node.importKind === \"typeof\") {\n this.word(node.importKind);\n this.space();\n }\n\n this.print(node.imported, node);\n // @ts-expect-error todo(flow-ts) maybe check node type instead of relying on name to be undefined on t.StringLiteral\n if (node.local && node.local.name !== node.imported.name) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.local, node);\n }\n}\n\nexport function ImportDefaultSpecifier(\n this: Printer,\n node: t.ImportDefaultSpecifier,\n) {\n this.print(node.local, node);\n}\n\nexport function ExportDefaultSpecifier(\n this: Printer,\n node: t.ExportDefaultSpecifier,\n) {\n this.print(node.exported, node);\n}\n\nexport function ExportSpecifier(this: Printer, node: t.ExportSpecifier) {\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n\n this.print(node.local, node);\n // @ts-expect-error todo(flow-ts) maybe check node type instead of relying on name to be undefined on t.StringLiteral\n if (node.exported && node.local.name !== node.exported.name) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.exported, node);\n }\n}\n\nexport function ExportNamespaceSpecifier(\n this: Printer,\n node: t.ExportNamespaceSpecifier,\n) {\n this.token(\"*\");\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.exported, node);\n}\n\nlet warningShown = false;\n\nexport function _printAttributes(\n this: Printer,\n node: Extract,\n) {\n const { importAttributesKeyword } = this.format;\n const { attributes, assertions } = node;\n\n if (\n attributes &&\n !importAttributesKeyword &&\n // In the production build only show the warning once.\n // We want to show it per-usage locally for tests.\n (!process.env.IS_PUBLISH || !warningShown)\n ) {\n warningShown = true;\n console.warn(`\\\nYou are using import attributes, without specifying the desired output syntax.\nPlease specify the \"importAttributesKeyword\" generator option, whose value can be one of:\n - \"with\" : \\`import { a } from \"b\" with { type: \"json\" };\\`\n - \"assert\" : \\`import { a } from \"b\" assert { type: \"json\" };\\`\n - \"with-legacy\" : \\`import { a } from \"b\" with type: \"json\";\\`\n`);\n }\n\n const useAssertKeyword =\n importAttributesKeyword === \"assert\" ||\n (!importAttributesKeyword && assertions);\n\n this.word(useAssertKeyword ? \"assert\" : \"with\");\n this.space();\n\n if (!useAssertKeyword && importAttributesKeyword !== \"with\") {\n // with-legacy\n this.printList(attributes || assertions, node);\n return;\n }\n\n this.token(\"{\");\n this.space();\n this.printList(attributes || assertions, node);\n this.space();\n this.token(\"}\");\n}\n\nexport function ExportAllDeclaration(\n this: Printer,\n node: t.ExportAllDeclaration | t.DeclareExportAllDeclaration,\n) {\n this.word(\"export\");\n this.space();\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n this.token(\"*\");\n this.space();\n this.word(\"from\");\n this.space();\n // @ts-expect-error Fixme: attributes is not defined in DeclareExportAllDeclaration\n if (node.attributes?.length || node.assertions?.length) {\n this.print(node.source, node, true);\n this.space();\n // @ts-expect-error Fixme: attributes is not defined in DeclareExportAllDeclaration\n this._printAttributes(node);\n } else {\n this.print(node.source, node);\n }\n\n this.semicolon();\n}\n\nfunction maybePrintDecoratorsBeforeExport(\n printer: Printer,\n node: t.ExportNamedDeclaration | t.ExportDefaultDeclaration,\n) {\n if (\n isClassDeclaration(node.declaration) &&\n printer._shouldPrintDecoratorsBeforeExport(\n node as t.ExportNamedDeclaration & { declaration: t.ClassDeclaration },\n )\n ) {\n printer.printJoin(node.declaration.decorators, node);\n }\n}\n\nexport function ExportNamedDeclaration(\n this: Printer,\n node: t.ExportNamedDeclaration,\n) {\n maybePrintDecoratorsBeforeExport(this, node);\n\n this.word(\"export\");\n this.space();\n if (node.declaration) {\n const declar = node.declaration;\n this.print(declar, node);\n if (!isStatement(declar)) this.semicolon();\n } else {\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n\n const specifiers = node.specifiers.slice(0);\n\n // print \"special\" specifiers first\n let hasSpecial = false;\n for (;;) {\n const first = specifiers[0];\n if (\n isExportDefaultSpecifier(first) ||\n isExportNamespaceSpecifier(first)\n ) {\n hasSpecial = true;\n this.print(specifiers.shift(), node);\n if (specifiers.length) {\n this.token(\",\");\n this.space();\n }\n } else {\n break;\n }\n }\n\n if (specifiers.length || (!specifiers.length && !hasSpecial)) {\n this.token(\"{\");\n if (specifiers.length) {\n this.space();\n this.printList(specifiers, node);\n this.space();\n }\n this.token(\"}\");\n }\n\n if (node.source) {\n this.space();\n this.word(\"from\");\n this.space();\n if (node.attributes?.length || node.assertions?.length) {\n this.print(node.source, node, true);\n this.space();\n this._printAttributes(node);\n } else {\n this.print(node.source, node);\n }\n }\n\n this.semicolon();\n }\n}\n\nexport function ExportDefaultDeclaration(\n this: Printer,\n node: t.ExportDefaultDeclaration,\n) {\n maybePrintDecoratorsBeforeExport(this, node);\n\n this.word(\"export\");\n this.noIndentInnerCommentsHere();\n this.space();\n this.word(\"default\");\n this.space();\n const declar = node.declaration;\n this.print(declar, node);\n if (!isStatement(declar)) this.semicolon();\n}\n\nexport function ImportDeclaration(this: Printer, node: t.ImportDeclaration) {\n this.word(\"import\");\n this.space();\n\n const isTypeKind = node.importKind === \"type\" || node.importKind === \"typeof\";\n if (isTypeKind) {\n this.noIndentInnerCommentsHere();\n this.word(node.importKind);\n this.space();\n } else if (node.module) {\n this.noIndentInnerCommentsHere();\n this.word(\"module\");\n this.space();\n }\n\n const specifiers = node.specifiers.slice(0);\n const hasSpecifiers = !!specifiers.length;\n // print \"special\" specifiers first. The loop condition is constant,\n // but there is a \"break\" in the body.\n while (hasSpecifiers) {\n const first = specifiers[0];\n if (isImportDefaultSpecifier(first) || isImportNamespaceSpecifier(first)) {\n this.print(specifiers.shift(), node);\n if (specifiers.length) {\n this.token(\",\");\n this.space();\n }\n } else {\n break;\n }\n }\n\n if (specifiers.length) {\n this.token(\"{\");\n this.space();\n this.printList(specifiers, node);\n this.space();\n this.token(\"}\");\n } else if (isTypeKind && !hasSpecifiers) {\n this.token(\"{\");\n this.token(\"}\");\n }\n\n if (hasSpecifiers || isTypeKind) {\n this.space();\n this.word(\"from\");\n this.space();\n }\n\n if (node.attributes?.length || node.assertions?.length) {\n this.print(node.source, node, true);\n this.space();\n this._printAttributes(node);\n } else {\n this.print(node.source, node);\n }\n\n this.semicolon();\n}\n\nexport function ImportAttribute(this: Printer, node: t.ImportAttribute) {\n this.print(node.key);\n this.token(\":\");\n this.space();\n this.print(node.value);\n}\n\nexport function ImportNamespaceSpecifier(\n this: Printer,\n node: t.ImportNamespaceSpecifier,\n) {\n this.token(\"*\");\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.local, node);\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/statements.js b/node_modules/@babel/generator/lib/generators/statements.js index 1512cf431..dee0ad812 100644 --- a/node_modules/@babel/generator/lib/generators/statements.js +++ b/node_modules/@babel/generator/lib/generators/statements.js @@ -205,7 +205,7 @@ function SwitchStatement(node) { if (!leading && node.cases[node.cases.length - 1] === cas) return -1; } }); - this.tokenChar(125); + this.rightBrace(node); } function SwitchCase(node) { if (node.test) { @@ -236,7 +236,7 @@ function VariableDeclaration(node, parent) { const { kind } = node; - this.word(kind, kind === "using"); + this.word(kind, kind === "using" || kind === "await using"); this.space(); let hasInits = false; if (!isFor(parent)) { diff --git a/node_modules/@babel/generator/lib/generators/statements.js.map b/node_modules/@babel/generator/lib/generators/statements.js.map index 338c896e7..f093f9f0c 100644 --- a/node_modules/@babel/generator/lib/generators/statements.js.map +++ b/node_modules/@babel/generator/lib/generators/statements.js.map @@ -1 +1 @@ -{"version":3,"names":["_t","require","isFor","isForStatement","isIfStatement","isStatement","WithStatement","node","word","space","token","print","object","printBlock","IfStatement","test","needsBlock","alternate","getLastStatement","consequent","newline","indent","printAndIndentOnComments","dedent","endsWith","statement","body","ForStatement","inForStatementInitCounter","init","update","WhileStatement","ForXStatement","isForOf","type","await","noIndentInnerCommentsHere","left","right","ForInStatement","exports","ForOfStatement","DoWhileStatement","semicolon","printStatementAfterKeyword","printer","parent","isLabel","printTerminatorless","BreakStatement","label","ContinueStatement","ReturnStatement","argument","ThrowStatement","LabeledStatement","TryStatement","block","handlers","handler","finalizer","CatchClause","param","typeAnnotation","SwitchStatement","discriminant","printSequence","cases","addNewlines","leading","cas","length","SwitchCase","DebuggerStatement","VariableDeclaration","declare","kind","hasInits","declar","declarations","printList","separator","undefined","VariableDeclarator","id","definite"],"sources":["../../src/generators/statements.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport {\n isFor,\n isForStatement,\n isIfStatement,\n isStatement,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport * as charCodes from \"charcodes\";\n\nexport function WithStatement(this: Printer, node: t.WithStatement) {\n this.word(\"with\");\n this.space();\n this.token(\"(\");\n this.print(node.object, node);\n this.token(\")\");\n this.printBlock(node);\n}\n\nexport function IfStatement(this: Printer, node: t.IfStatement) {\n this.word(\"if\");\n this.space();\n this.token(\"(\");\n this.print(node.test, node);\n this.token(\")\");\n this.space();\n\n const needsBlock =\n node.alternate && isIfStatement(getLastStatement(node.consequent));\n if (needsBlock) {\n this.token(\"{\");\n this.newline();\n this.indent();\n }\n\n this.printAndIndentOnComments(node.consequent, node);\n\n if (needsBlock) {\n this.dedent();\n this.newline();\n this.token(\"}\");\n }\n\n if (node.alternate) {\n if (this.endsWith(charCodes.rightCurlyBrace)) this.space();\n this.word(\"else\");\n this.space();\n this.printAndIndentOnComments(node.alternate, node);\n }\n}\n\n// Recursively get the last statement.\nfunction getLastStatement(statement: t.Statement): t.Statement {\n // @ts-expect-error: If statement.body is empty or not a Node, isStatement will return false\n const { body } = statement;\n if (isStatement(body) === false) {\n return statement;\n }\n\n return getLastStatement(body);\n}\n\nexport function ForStatement(this: Printer, node: t.ForStatement) {\n this.word(\"for\");\n this.space();\n this.token(\"(\");\n\n this.inForStatementInitCounter++;\n this.print(node.init, node);\n this.inForStatementInitCounter--;\n this.token(\";\");\n\n if (node.test) {\n this.space();\n this.print(node.test, node);\n }\n this.token(\";\");\n\n if (node.update) {\n this.space();\n this.print(node.update, node);\n }\n\n this.token(\")\");\n this.printBlock(node);\n}\n\nexport function WhileStatement(this: Printer, node: t.WhileStatement) {\n this.word(\"while\");\n this.space();\n this.token(\"(\");\n this.print(node.test, node);\n this.token(\")\");\n this.printBlock(node);\n}\n\nfunction ForXStatement(this: Printer, node: t.ForXStatement) {\n this.word(\"for\");\n this.space();\n const isForOf = node.type === \"ForOfStatement\";\n if (isForOf && node.await) {\n this.word(\"await\");\n this.space();\n }\n this.noIndentInnerCommentsHere();\n this.token(\"(\");\n this.print(node.left, node);\n this.space();\n this.word(isForOf ? \"of\" : \"in\");\n this.space();\n this.print(node.right, node);\n this.token(\")\");\n this.printBlock(node);\n}\n\nexport const ForInStatement = ForXStatement;\nexport const ForOfStatement = ForXStatement;\n\nexport function DoWhileStatement(this: Printer, node: t.DoWhileStatement) {\n this.word(\"do\");\n this.space();\n this.print(node.body, node);\n this.space();\n this.word(\"while\");\n this.space();\n this.token(\"(\");\n this.print(node.test, node);\n this.token(\")\");\n this.semicolon();\n}\n\nfunction printStatementAfterKeyword(\n printer: Printer,\n node: t.Node,\n parent: t.Node,\n isLabel: boolean,\n) {\n if (node) {\n printer.space();\n printer.printTerminatorless(node, parent, isLabel);\n }\n\n printer.semicolon();\n}\n\nexport function BreakStatement(this: Printer, node: t.ContinueStatement) {\n this.word(\"break\");\n printStatementAfterKeyword(this, node.label, node, true);\n}\n\nexport function ContinueStatement(this: Printer, node: t.ContinueStatement) {\n this.word(\"continue\");\n printStatementAfterKeyword(this, node.label, node, true);\n}\n\nexport function ReturnStatement(this: Printer, node: t.ReturnStatement) {\n this.word(\"return\");\n printStatementAfterKeyword(this, node.argument, node, false);\n}\n\nexport function ThrowStatement(this: Printer, node: t.ThrowStatement) {\n this.word(\"throw\");\n printStatementAfterKeyword(this, node.argument, node, false);\n}\n\nexport function LabeledStatement(this: Printer, node: t.LabeledStatement) {\n this.print(node.label, node);\n this.token(\":\");\n this.space();\n this.print(node.body, node);\n}\n\nexport function TryStatement(this: Printer, node: t.TryStatement) {\n this.word(\"try\");\n this.space();\n this.print(node.block, node);\n this.space();\n\n // Esprima bug puts the catch clause in a `handlers` array.\n // see https://code.google.com/p/esprima/issues/detail?id=433\n // We run into this from regenerator generated ast.\n // @ts-expect-error todo(flow->ts) should ast node type be updated to support this?\n if (node.handlers) {\n // @ts-expect-error todo(flow->ts) should ast node type be updated to support this?\n this.print(node.handlers[0], node);\n } else {\n this.print(node.handler, node);\n }\n\n if (node.finalizer) {\n this.space();\n this.word(\"finally\");\n this.space();\n this.print(node.finalizer, node);\n }\n}\n\nexport function CatchClause(this: Printer, node: t.CatchClause) {\n this.word(\"catch\");\n this.space();\n if (node.param) {\n this.token(\"(\");\n this.print(node.param, node);\n this.print(node.param.typeAnnotation, node);\n this.token(\")\");\n this.space();\n }\n this.print(node.body, node);\n}\n\nexport function SwitchStatement(this: Printer, node: t.SwitchStatement) {\n this.word(\"switch\");\n this.space();\n this.token(\"(\");\n this.print(node.discriminant, node);\n this.token(\")\");\n this.space();\n this.token(\"{\");\n\n this.printSequence(node.cases, node, {\n indent: true,\n addNewlines(leading, cas) {\n if (!leading && node.cases[node.cases.length - 1] === cas) return -1;\n },\n });\n\n this.token(\"}\");\n}\n\nexport function SwitchCase(this: Printer, node: t.SwitchCase) {\n if (node.test) {\n this.word(\"case\");\n this.space();\n this.print(node.test, node);\n this.token(\":\");\n } else {\n this.word(\"default\");\n this.token(\":\");\n }\n\n if (node.consequent.length) {\n this.newline();\n this.printSequence(node.consequent, node, { indent: true });\n }\n}\n\nexport function DebuggerStatement(this: Printer) {\n this.word(\"debugger\");\n this.semicolon();\n}\n\nexport function VariableDeclaration(\n this: Printer,\n node: t.VariableDeclaration,\n parent: t.Node,\n) {\n if (node.declare) {\n // TS\n this.word(\"declare\");\n this.space();\n }\n\n const { kind } = node;\n this.word(kind, kind === \"using\");\n this.space();\n\n let hasInits = false;\n // don't add whitespace to loop heads\n if (!isFor(parent)) {\n for (const declar of node.declarations) {\n if (declar.init) {\n // has an init so let's split it up over multiple lines\n hasInits = true;\n }\n }\n }\n\n //\n // use a pretty separator when we aren't in compact mode, have initializers and don't have retainLines on\n // this will format declarations like:\n //\n // let foo = \"bar\", bar = \"foo\";\n //\n // into\n //\n // let foo = \"bar\",\n // bar = \"foo\";\n //\n\n this.printList(node.declarations, node, {\n separator: hasInits\n ? function (this: Printer) {\n this.token(\",\");\n this.newline();\n }\n : undefined,\n indent: node.declarations.length > 1 ? true : false,\n });\n\n if (isFor(parent)) {\n // don't give semicolons to these nodes since they'll be inserted in the parent generator\n if (isForStatement(parent)) {\n if (parent.init === node) return;\n } else {\n if (parent.left === node) return;\n }\n }\n\n this.semicolon();\n}\n\nexport function VariableDeclarator(this: Printer, node: t.VariableDeclarator) {\n this.print(node.id, node);\n if (node.definite) this.token(\"!\"); // TS\n // @ts-expect-error todo(flow-ts) Property 'typeAnnotation' does not exist on type 'MemberExpression'.\n this.print(node.id.typeAnnotation, node);\n if (node.init) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.init, node);\n }\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_t","require","isFor","isForStatement","isIfStatement","isStatement","WithStatement","node","word","space","token","print","object","printBlock","IfStatement","test","needsBlock","alternate","getLastStatement","consequent","newline","indent","printAndIndentOnComments","dedent","endsWith","statement","body","ForStatement","inForStatementInitCounter","init","update","WhileStatement","ForXStatement","isForOf","type","await","noIndentInnerCommentsHere","left","right","ForInStatement","exports","ForOfStatement","DoWhileStatement","semicolon","printStatementAfterKeyword","printer","parent","isLabel","printTerminatorless","BreakStatement","label","ContinueStatement","ReturnStatement","argument","ThrowStatement","LabeledStatement","TryStatement","block","handlers","handler","finalizer","CatchClause","param","typeAnnotation","SwitchStatement","discriminant","printSequence","cases","addNewlines","leading","cas","length","rightBrace","SwitchCase","DebuggerStatement","VariableDeclaration","declare","kind","hasInits","declar","declarations","printList","separator","undefined","VariableDeclarator","id","definite"],"sources":["../../src/generators/statements.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport {\n isFor,\n isForStatement,\n isIfStatement,\n isStatement,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport * as charCodes from \"charcodes\";\n\nexport function WithStatement(this: Printer, node: t.WithStatement) {\n this.word(\"with\");\n this.space();\n this.token(\"(\");\n this.print(node.object, node);\n this.token(\")\");\n this.printBlock(node);\n}\n\nexport function IfStatement(this: Printer, node: t.IfStatement) {\n this.word(\"if\");\n this.space();\n this.token(\"(\");\n this.print(node.test, node);\n this.token(\")\");\n this.space();\n\n const needsBlock =\n node.alternate && isIfStatement(getLastStatement(node.consequent));\n if (needsBlock) {\n this.token(\"{\");\n this.newline();\n this.indent();\n }\n\n this.printAndIndentOnComments(node.consequent, node);\n\n if (needsBlock) {\n this.dedent();\n this.newline();\n this.token(\"}\");\n }\n\n if (node.alternate) {\n if (this.endsWith(charCodes.rightCurlyBrace)) this.space();\n this.word(\"else\");\n this.space();\n this.printAndIndentOnComments(node.alternate, node);\n }\n}\n\n// Recursively get the last statement.\nfunction getLastStatement(statement: t.Statement): t.Statement {\n // @ts-expect-error: If statement.body is empty or not a Node, isStatement will return false\n const { body } = statement;\n if (isStatement(body) === false) {\n return statement;\n }\n\n return getLastStatement(body);\n}\n\nexport function ForStatement(this: Printer, node: t.ForStatement) {\n this.word(\"for\");\n this.space();\n this.token(\"(\");\n\n this.inForStatementInitCounter++;\n this.print(node.init, node);\n this.inForStatementInitCounter--;\n this.token(\";\");\n\n if (node.test) {\n this.space();\n this.print(node.test, node);\n }\n this.token(\";\");\n\n if (node.update) {\n this.space();\n this.print(node.update, node);\n }\n\n this.token(\")\");\n this.printBlock(node);\n}\n\nexport function WhileStatement(this: Printer, node: t.WhileStatement) {\n this.word(\"while\");\n this.space();\n this.token(\"(\");\n this.print(node.test, node);\n this.token(\")\");\n this.printBlock(node);\n}\n\nfunction ForXStatement(this: Printer, node: t.ForXStatement) {\n this.word(\"for\");\n this.space();\n const isForOf = node.type === \"ForOfStatement\";\n if (isForOf && node.await) {\n this.word(\"await\");\n this.space();\n }\n this.noIndentInnerCommentsHere();\n this.token(\"(\");\n this.print(node.left, node);\n this.space();\n this.word(isForOf ? \"of\" : \"in\");\n this.space();\n this.print(node.right, node);\n this.token(\")\");\n this.printBlock(node);\n}\n\nexport const ForInStatement = ForXStatement;\nexport const ForOfStatement = ForXStatement;\n\nexport function DoWhileStatement(this: Printer, node: t.DoWhileStatement) {\n this.word(\"do\");\n this.space();\n this.print(node.body, node);\n this.space();\n this.word(\"while\");\n this.space();\n this.token(\"(\");\n this.print(node.test, node);\n this.token(\")\");\n this.semicolon();\n}\n\nfunction printStatementAfterKeyword(\n printer: Printer,\n node: t.Node,\n parent: t.Node,\n isLabel: boolean,\n) {\n if (node) {\n printer.space();\n printer.printTerminatorless(node, parent, isLabel);\n }\n\n printer.semicolon();\n}\n\nexport function BreakStatement(this: Printer, node: t.ContinueStatement) {\n this.word(\"break\");\n printStatementAfterKeyword(this, node.label, node, true);\n}\n\nexport function ContinueStatement(this: Printer, node: t.ContinueStatement) {\n this.word(\"continue\");\n printStatementAfterKeyword(this, node.label, node, true);\n}\n\nexport function ReturnStatement(this: Printer, node: t.ReturnStatement) {\n this.word(\"return\");\n printStatementAfterKeyword(this, node.argument, node, false);\n}\n\nexport function ThrowStatement(this: Printer, node: t.ThrowStatement) {\n this.word(\"throw\");\n printStatementAfterKeyword(this, node.argument, node, false);\n}\n\nexport function LabeledStatement(this: Printer, node: t.LabeledStatement) {\n this.print(node.label, node);\n this.token(\":\");\n this.space();\n this.print(node.body, node);\n}\n\nexport function TryStatement(this: Printer, node: t.TryStatement) {\n this.word(\"try\");\n this.space();\n this.print(node.block, node);\n this.space();\n\n // Esprima bug puts the catch clause in a `handlers` array.\n // see https://code.google.com/p/esprima/issues/detail?id=433\n // We run into this from regenerator generated ast.\n // @ts-expect-error todo(flow->ts) should ast node type be updated to support this?\n if (node.handlers) {\n // @ts-expect-error todo(flow->ts) should ast node type be updated to support this?\n this.print(node.handlers[0], node);\n } else {\n this.print(node.handler, node);\n }\n\n if (node.finalizer) {\n this.space();\n this.word(\"finally\");\n this.space();\n this.print(node.finalizer, node);\n }\n}\n\nexport function CatchClause(this: Printer, node: t.CatchClause) {\n this.word(\"catch\");\n this.space();\n if (node.param) {\n this.token(\"(\");\n this.print(node.param, node);\n this.print(node.param.typeAnnotation, node);\n this.token(\")\");\n this.space();\n }\n this.print(node.body, node);\n}\n\nexport function SwitchStatement(this: Printer, node: t.SwitchStatement) {\n this.word(\"switch\");\n this.space();\n this.token(\"(\");\n this.print(node.discriminant, node);\n this.token(\")\");\n this.space();\n this.token(\"{\");\n\n this.printSequence(node.cases, node, {\n indent: true,\n addNewlines(leading, cas) {\n if (!leading && node.cases[node.cases.length - 1] === cas) return -1;\n },\n });\n\n this.rightBrace(node);\n}\n\nexport function SwitchCase(this: Printer, node: t.SwitchCase) {\n if (node.test) {\n this.word(\"case\");\n this.space();\n this.print(node.test, node);\n this.token(\":\");\n } else {\n this.word(\"default\");\n this.token(\":\");\n }\n\n if (node.consequent.length) {\n this.newline();\n this.printSequence(node.consequent, node, { indent: true });\n }\n}\n\nexport function DebuggerStatement(this: Printer) {\n this.word(\"debugger\");\n this.semicolon();\n}\n\nexport function VariableDeclaration(\n this: Printer,\n node: t.VariableDeclaration,\n parent: t.Node,\n) {\n if (node.declare) {\n // TS\n this.word(\"declare\");\n this.space();\n }\n\n const { kind } = node;\n this.word(kind, kind === \"using\" || kind === \"await using\");\n this.space();\n\n let hasInits = false;\n // don't add whitespace to loop heads\n if (!isFor(parent)) {\n for (const declar of node.declarations) {\n if (declar.init) {\n // has an init so let's split it up over multiple lines\n hasInits = true;\n }\n }\n }\n\n //\n // use a pretty separator when we aren't in compact mode, have initializers and don't have retainLines on\n // this will format declarations like:\n //\n // let foo = \"bar\", bar = \"foo\";\n //\n // into\n //\n // let foo = \"bar\",\n // bar = \"foo\";\n //\n\n this.printList(node.declarations, node, {\n separator: hasInits\n ? function (this: Printer) {\n this.token(\",\");\n this.newline();\n }\n : undefined,\n indent: node.declarations.length > 1 ? true : false,\n });\n\n if (isFor(parent)) {\n // don't give semicolons to these nodes since they'll be inserted in the parent generator\n if (isForStatement(parent)) {\n if (parent.init === node) return;\n } else {\n if (parent.left === node) return;\n }\n }\n\n this.semicolon();\n}\n\nexport function VariableDeclarator(this: Printer, node: t.VariableDeclarator) {\n this.print(node.id, node);\n if (node.definite) this.token(\"!\"); // TS\n // @ts-expect-error todo(flow-ts) Property 'typeAnnotation' does not exist on type 'MemberExpression'.\n this.print(node.id.typeAnnotation, node);\n if (node.init) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.init, node);\n }\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/types.js.map b/node_modules/@babel/generator/lib/generators/types.js.map index 9af2a163a..73502936c 100644 --- a/node_modules/@babel/generator/lib/generators/types.js.map +++ b/node_modules/@babel/generator/lib/generators/types.js.map @@ -1 +1 @@ -{"version":3,"names":["_t","require","_jsesc","isAssignmentPattern","isIdentifier","Identifier","node","_node$loc","sourceIdentifierName","loc","identifierName","name","word","ArgumentPlaceholder","token","RestElement","print","argument","ObjectExpression","props","properties","length","space","printList","indent","statement","sourceWithOffset","ObjectMethod","printJoin","decorators","_methodHead","body","ObjectProperty","computed","key","value","left","shorthand","ArrayExpression","elems","elements","len","i","elem","RecordExpression","startToken","endToken","format","recordAndTupleSyntaxType","Error","JSON","stringify","TupleExpression","RegExpLiteral","pattern","flags","BooleanLiteral","NullLiteral","NumericLiteral","raw","getPossibleRaw","opts","jsescOption","numbers","number","jsesc","minified","StringLiteral","undefined","val","BigIntLiteral","DecimalLiteral","validTopicTokenSet","Set","TopicReference","topicToken","has","givenTopicTokenJSON","validTopics","Array","from","v","join","PipelineTopicExpression","expression","PipelineBareFunction","callee","PipelinePrimaryTopicReference"],"sources":["../../src/generators/types.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport { isAssignmentPattern, isIdentifier } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport jsesc from \"jsesc\";\n\nexport function Identifier(this: Printer, node: t.Identifier) {\n this.sourceIdentifierName(\n // @ts-expect-error Undocumented property identifierName\n node.loc?.identifierName || node.name,\n );\n this.word(node.name);\n}\n\nexport function ArgumentPlaceholder(this: Printer) {\n this.token(\"?\");\n}\n\nexport function RestElement(this: Printer, node: t.RestElement) {\n this.token(\"...\");\n this.print(node.argument, node);\n}\n\nexport { RestElement as SpreadElement };\n\nexport function ObjectExpression(this: Printer, node: t.ObjectExpression) {\n const props = node.properties;\n\n this.token(\"{\");\n\n if (props.length) {\n this.space();\n this.printList(props, node, { indent: true, statement: true });\n this.space();\n }\n\n this.sourceWithOffset(\"end\", node.loc, 0, -1);\n\n this.token(\"}\");\n}\n\nexport { ObjectExpression as ObjectPattern };\n\nexport function ObjectMethod(this: Printer, node: t.ObjectMethod) {\n this.printJoin(node.decorators, node);\n this._methodHead(node);\n this.space();\n this.print(node.body, node);\n}\n\nexport function ObjectProperty(this: Printer, node: t.ObjectProperty) {\n this.printJoin(node.decorators, node);\n\n if (node.computed) {\n this.token(\"[\");\n this.print(node.key, node);\n this.token(\"]\");\n } else {\n // print `({ foo: foo = 5 } = {})` as `({ foo = 5 } = {});`\n if (\n isAssignmentPattern(node.value) &&\n isIdentifier(node.key) &&\n // @ts-expect-error todo(flow->ts) `.name` does not exist on some types in union\n node.key.name === node.value.left.name\n ) {\n this.print(node.value, node);\n return;\n }\n\n this.print(node.key, node);\n\n // shorthand!\n if (\n node.shorthand &&\n isIdentifier(node.key) &&\n isIdentifier(node.value) &&\n node.key.name === node.value.name\n ) {\n return;\n }\n }\n\n this.token(\":\");\n this.space();\n this.print(node.value, node);\n}\n\nexport function ArrayExpression(this: Printer, node: t.ArrayExpression) {\n const elems = node.elements;\n const len = elems.length;\n\n this.token(\"[\");\n\n for (let i = 0; i < elems.length; i++) {\n const elem = elems[i];\n if (elem) {\n if (i > 0) this.space();\n this.print(elem, node);\n if (i < len - 1) this.token(\",\");\n } else {\n // If the array expression ends with a hole, that hole\n // will be ignored by the interpreter, but if it ends with\n // two (or more) holes, we need to write out two (or more)\n // commas so that the resulting code is interpreted with\n // both (all) of the holes.\n this.token(\",\");\n }\n }\n\n this.token(\"]\");\n}\n\nexport { ArrayExpression as ArrayPattern };\n\nexport function RecordExpression(this: Printer, node: t.RecordExpression) {\n const props = node.properties;\n\n let startToken;\n let endToken;\n if (this.format.recordAndTupleSyntaxType === \"bar\") {\n startToken = \"{|\";\n endToken = \"|}\";\n } else if (\n this.format.recordAndTupleSyntaxType !== \"hash\" &&\n this.format.recordAndTupleSyntaxType != null\n ) {\n throw new Error(\n `The \"recordAndTupleSyntaxType\" generator option must be \"bar\" or \"hash\" (${JSON.stringify(\n this.format.recordAndTupleSyntaxType,\n )} received).`,\n );\n } else {\n startToken = \"#{\";\n endToken = \"}\";\n }\n\n this.token(startToken);\n\n if (props.length) {\n this.space();\n this.printList(props, node, { indent: true, statement: true });\n this.space();\n }\n this.token(endToken);\n}\n\nexport function TupleExpression(this: Printer, node: t.TupleExpression) {\n const elems = node.elements;\n const len = elems.length;\n\n let startToken;\n let endToken;\n if (this.format.recordAndTupleSyntaxType === \"bar\") {\n startToken = \"[|\";\n endToken = \"|]\";\n } else if (this.format.recordAndTupleSyntaxType === \"hash\") {\n startToken = \"#[\";\n endToken = \"]\";\n } else {\n throw new Error(\n `${this.format.recordAndTupleSyntaxType} is not a valid recordAndTuple syntax type`,\n );\n }\n\n this.token(startToken);\n\n for (let i = 0; i < elems.length; i++) {\n const elem = elems[i];\n if (elem) {\n if (i > 0) this.space();\n this.print(elem, node);\n if (i < len - 1) this.token(\",\");\n }\n }\n\n this.token(endToken);\n}\n\nexport function RegExpLiteral(this: Printer, node: t.RegExpLiteral) {\n this.word(`/${node.pattern}/${node.flags}`);\n}\n\nexport function BooleanLiteral(this: Printer, node: t.BooleanLiteral) {\n this.word(node.value ? \"true\" : \"false\");\n}\n\nexport function NullLiteral(this: Printer) {\n this.word(\"null\");\n}\n\nexport function NumericLiteral(this: Printer, node: t.NumericLiteral) {\n const raw = this.getPossibleRaw(node);\n const opts = this.format.jsescOption;\n const value = node.value + \"\";\n if (opts.numbers) {\n this.number(jsesc(node.value, opts));\n } else if (raw == null) {\n this.number(value); // normalize\n } else if (this.format.minified) {\n this.number(raw.length < value.length ? raw : value);\n } else {\n this.number(raw);\n }\n}\n\nexport function StringLiteral(this: Printer, node: t.StringLiteral) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.token(raw);\n return;\n }\n\n const val = jsesc(node.value, this.format.jsescOption);\n\n this.token(val);\n}\n\nexport function BigIntLiteral(this: Printer, node: t.BigIntLiteral) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.word(raw);\n return;\n }\n this.word(node.value + \"n\");\n}\n\nexport function DecimalLiteral(this: Printer, node: t.DecimalLiteral) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.word(raw);\n return;\n }\n this.word(node.value + \"m\");\n}\n\n// Hack pipe operator\nconst validTopicTokenSet = new Set([\"^^\", \"@@\", \"^\", \"%\", \"#\"]);\nexport function TopicReference(this: Printer) {\n const { topicToken } = this.format;\n\n if (validTopicTokenSet.has(topicToken)) {\n this.token(topicToken);\n } else {\n const givenTopicTokenJSON = JSON.stringify(topicToken);\n const validTopics = Array.from(validTopicTokenSet, v => JSON.stringify(v));\n throw new Error(\n `The \"topicToken\" generator option must be one of ` +\n `${validTopics.join(\", \")} (${givenTopicTokenJSON} received instead).`,\n );\n }\n}\n\n// Smart-mix pipe operator\nexport function PipelineTopicExpression(\n this: Printer,\n node: t.PipelineTopicExpression,\n) {\n this.print(node.expression, node);\n}\n\nexport function PipelineBareFunction(\n this: Printer,\n node: t.PipelineBareFunction,\n) {\n this.print(node.callee, node);\n}\n\nexport function PipelinePrimaryTopicReference(this: Printer) {\n this.token(\"#\");\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_t","require","_jsesc","isAssignmentPattern","isIdentifier","Identifier","node","_node$loc","sourceIdentifierName","loc","identifierName","name","word","ArgumentPlaceholder","token","RestElement","print","argument","ObjectExpression","props","properties","length","space","printList","indent","statement","sourceWithOffset","ObjectMethod","printJoin","decorators","_methodHead","body","ObjectProperty","computed","key","value","left","shorthand","ArrayExpression","elems","elements","len","i","elem","RecordExpression","startToken","endToken","format","recordAndTupleSyntaxType","Error","JSON","stringify","TupleExpression","RegExpLiteral","pattern","flags","BooleanLiteral","NullLiteral","NumericLiteral","raw","getPossibleRaw","opts","jsescOption","numbers","number","jsesc","minified","StringLiteral","undefined","val","BigIntLiteral","DecimalLiteral","validTopicTokenSet","Set","TopicReference","topicToken","has","givenTopicTokenJSON","validTopics","Array","from","v","join","PipelineTopicExpression","expression","PipelineBareFunction","callee","PipelinePrimaryTopicReference"],"sources":["../../src/generators/types.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport { isAssignmentPattern, isIdentifier } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport jsesc from \"jsesc\";\n\nexport function Identifier(this: Printer, node: t.Identifier) {\n this.sourceIdentifierName(\n // @ts-expect-error Undocumented property identifierName\n node.loc?.identifierName || node.name,\n );\n this.word(node.name);\n}\n\nexport function ArgumentPlaceholder(this: Printer) {\n this.token(\"?\");\n}\n\nexport function RestElement(this: Printer, node: t.RestElement) {\n this.token(\"...\");\n this.print(node.argument, node);\n}\n\nexport { RestElement as SpreadElement };\n\nexport function ObjectExpression(this: Printer, node: t.ObjectExpression) {\n const props = node.properties;\n\n this.token(\"{\");\n\n if (props.length) {\n this.space();\n this.printList(props, node, { indent: true, statement: true });\n this.space();\n }\n\n this.sourceWithOffset(\"end\", node.loc, 0, -1);\n\n this.token(\"}\");\n}\n\nexport { ObjectExpression as ObjectPattern };\n\nexport function ObjectMethod(this: Printer, node: t.ObjectMethod) {\n this.printJoin(node.decorators, node);\n this._methodHead(node);\n this.space();\n this.print(node.body, node);\n}\n\nexport function ObjectProperty(this: Printer, node: t.ObjectProperty) {\n this.printJoin(node.decorators, node);\n\n if (node.computed) {\n this.token(\"[\");\n this.print(node.key, node);\n this.token(\"]\");\n } else {\n // print `({ foo: foo = 5 } = {})` as `({ foo = 5 } = {});`\n if (\n isAssignmentPattern(node.value) &&\n isIdentifier(node.key) &&\n // @ts-expect-error todo(flow->ts) `.name` does not exist on some types in union\n node.key.name === node.value.left.name\n ) {\n this.print(node.value, node);\n return;\n }\n\n this.print(node.key, node);\n\n // shorthand!\n if (\n node.shorthand &&\n isIdentifier(node.key) &&\n isIdentifier(node.value) &&\n node.key.name === node.value.name\n ) {\n return;\n }\n }\n\n this.token(\":\");\n this.space();\n this.print(node.value, node);\n}\n\nexport function ArrayExpression(this: Printer, node: t.ArrayExpression) {\n const elems = node.elements;\n const len = elems.length;\n\n this.token(\"[\");\n\n for (let i = 0; i < elems.length; i++) {\n const elem = elems[i];\n if (elem) {\n if (i > 0) this.space();\n this.print(elem, node);\n if (i < len - 1) this.token(\",\");\n } else {\n // If the array expression ends with a hole, that hole\n // will be ignored by the interpreter, but if it ends with\n // two (or more) holes, we need to write out two (or more)\n // commas so that the resulting code is interpreted with\n // both (all) of the holes.\n this.token(\",\");\n }\n }\n\n this.token(\"]\");\n}\n\nexport { ArrayExpression as ArrayPattern };\n\nexport function RecordExpression(this: Printer, node: t.RecordExpression) {\n const props = node.properties;\n\n let startToken;\n let endToken;\n if (this.format.recordAndTupleSyntaxType === \"bar\") {\n startToken = \"{|\";\n endToken = \"|}\";\n } else if (\n this.format.recordAndTupleSyntaxType !== \"hash\" &&\n this.format.recordAndTupleSyntaxType != null\n ) {\n throw new Error(\n `The \"recordAndTupleSyntaxType\" generator option must be \"bar\" or \"hash\" (${JSON.stringify(\n this.format.recordAndTupleSyntaxType,\n )} received).`,\n );\n } else {\n startToken = \"#{\";\n endToken = \"}\";\n }\n\n this.token(startToken);\n\n if (props.length) {\n this.space();\n this.printList(props, node, { indent: true, statement: true });\n this.space();\n }\n this.token(endToken);\n}\n\nexport function TupleExpression(this: Printer, node: t.TupleExpression) {\n const elems = node.elements;\n const len = elems.length;\n\n let startToken;\n let endToken;\n if (this.format.recordAndTupleSyntaxType === \"bar\") {\n startToken = \"[|\";\n endToken = \"|]\";\n } else if (this.format.recordAndTupleSyntaxType === \"hash\") {\n startToken = \"#[\";\n endToken = \"]\";\n } else {\n throw new Error(\n `${this.format.recordAndTupleSyntaxType} is not a valid recordAndTuple syntax type`,\n );\n }\n\n this.token(startToken);\n\n for (let i = 0; i < elems.length; i++) {\n const elem = elems[i];\n if (elem) {\n if (i > 0) this.space();\n this.print(elem, node);\n if (i < len - 1) this.token(\",\");\n }\n }\n\n this.token(endToken);\n}\n\nexport function RegExpLiteral(this: Printer, node: t.RegExpLiteral) {\n this.word(`/${node.pattern}/${node.flags}`);\n}\n\nexport function BooleanLiteral(this: Printer, node: t.BooleanLiteral) {\n this.word(node.value ? \"true\" : \"false\");\n}\n\nexport function NullLiteral(this: Printer) {\n this.word(\"null\");\n}\n\nexport function NumericLiteral(this: Printer, node: t.NumericLiteral) {\n const raw = this.getPossibleRaw(node);\n const opts = this.format.jsescOption;\n const value = node.value + \"\";\n if (opts.numbers) {\n this.number(jsesc(node.value, opts));\n } else if (raw == null) {\n this.number(value); // normalize\n } else if (this.format.minified) {\n this.number(raw.length < value.length ? raw : value);\n } else {\n this.number(raw);\n }\n}\n\nexport function StringLiteral(this: Printer, node: t.StringLiteral) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.token(raw);\n return;\n }\n\n const val = jsesc(node.value, this.format.jsescOption);\n\n this.token(val);\n}\n\nexport function BigIntLiteral(this: Printer, node: t.BigIntLiteral) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.word(raw);\n return;\n }\n this.word(node.value + \"n\");\n}\n\nexport function DecimalLiteral(this: Printer, node: t.DecimalLiteral) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.word(raw);\n return;\n }\n this.word(node.value + \"m\");\n}\n\n// Hack pipe operator\nconst validTopicTokenSet = new Set([\"^^\", \"@@\", \"^\", \"%\", \"#\"]);\nexport function TopicReference(this: Printer) {\n const { topicToken } = this.format;\n\n if (validTopicTokenSet.has(topicToken)) {\n this.token(topicToken);\n } else {\n const givenTopicTokenJSON = JSON.stringify(topicToken);\n const validTopics = Array.from(validTopicTokenSet, v => JSON.stringify(v));\n throw new Error(\n `The \"topicToken\" generator option must be one of ` +\n `${validTopics.join(\", \")} (${givenTopicTokenJSON} received instead).`,\n );\n }\n}\n\n// Smart-mix pipe operator\nexport function PipelineTopicExpression(\n this: Printer,\n node: t.PipelineTopicExpression,\n) {\n this.print(node.expression, node);\n}\n\nexport function PipelineBareFunction(\n this: Printer,\n node: t.PipelineBareFunction,\n) {\n this.print(node.callee, node);\n}\n\nexport function PipelinePrimaryTopicReference(this: Printer) {\n this.token(\"#\");\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/generators/typescript.js b/node_modules/@babel/generator/lib/generators/typescript.js index 3a4dfcdf1..9d621d231 100644 --- a/node_modules/@babel/generator/lib/generators/typescript.js +++ b/node_modules/@babel/generator/lib/generators/typescript.js @@ -319,8 +319,7 @@ function tsPrintBraced(printer, members, node) { } printer.dedent(); } - printer.sourceWithOffset("end", node.loc, 0, -1); - printer.rightBrace(); + printer.rightBrace(node); } function TSArrayType(node) { this.print(node.elementType, node, true); diff --git a/node_modules/@babel/generator/lib/generators/typescript.js.map b/node_modules/@babel/generator/lib/generators/typescript.js.map index b7665a926..15eaac3ce 100644 --- a/node_modules/@babel/generator/lib/generators/typescript.js.map +++ b/node_modules/@babel/generator/lib/generators/typescript.js.map @@ -1 +1 @@ -{"version":3,"names":["TSTypeAnnotation","node","token","space","optional","print","typeAnnotation","TSTypeParameterInstantiation","parent","printList","params","type","length","TSTypeParameter","in","word","out","name","constraint","default","TSParameterProperty","accessibility","readonly","_param","parameter","TSDeclareFunction","declare","_functionHead","TSDeclareMethod","_classMethodHead","TSQualifiedName","left","right","TSCallSignatureDeclaration","tsPrintSignatureDeclarationBase","TSConstructSignatureDeclaration","TSPropertySignature","initializer","tsPrintPropertyOrMethodName","computed","key","TSMethodSignature","kind","TSIndexSignature","static","isStatic","_parameters","parameters","TSAnyKeyword","TSBigIntKeyword","TSUnknownKeyword","TSNumberKeyword","TSObjectKeyword","TSBooleanKeyword","TSStringKeyword","TSSymbolKeyword","TSVoidKeyword","TSUndefinedKeyword","TSNullKeyword","TSNeverKeyword","TSIntrinsicKeyword","TSThisType","TSFunctionType","tsPrintFunctionOrConstructorType","TSConstructorType","abstract","typeParameters","returnType","TSTypeReference","typeName","TSTypePredicate","asserts","parameterName","TSTypeQuery","exprName","TSTypeLiteral","tsPrintTypeLiteralOrInterfaceBody","members","tsPrintBraced","printer","indent","newline","member","dedent","sourceWithOffset","loc","rightBrace","TSArrayType","elementType","TSTupleType","elementTypes","TSOptionalType","TSRestType","TSNamedTupleMember","label","TSUnionType","tsPrintUnionOrIntersectionType","TSIntersectionType","sep","printJoin","types","separator","TSConditionalType","checkType","extendsType","trueType","falseType","TSInferType","typeParameter","TSParenthesizedType","TSTypeOperator","operator","TSIndexedAccessType","objectType","indexType","TSMappedType","nameType","tokenIfPlusMinus","self","tok","TSLiteralType","literal","TSExpressionWithTypeArguments","expression","TSInterfaceDeclaration","id","extends","extendz","body","TSInterfaceBody","TSTypeAliasDeclaration","TSTypeExpression","_expression$trailingC","forceParens","trailingComments","undefined","TSTypeAssertion","TSInstantiationExpression","TSEnumDeclaration","const","isConst","TSEnumMember","TSModuleDeclaration","global","TSModuleBlock","TSImportType","argument","qualifier","TSImportEqualsDeclaration","isExport","moduleReference","TSExternalModuleReference","TSNonNullExpression","TSExportAssignment","TSNamespaceExportDeclaration","tsPrintClassMemberModifiers","isField","override"],"sources":["../../src/generators/typescript.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport type * as t from \"@babel/types\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport function TSTypeAnnotation(this: Printer, node: t.TSTypeAnnotation) {\n this.token(\":\");\n this.space();\n // @ts-expect-error todo(flow->ts) can this be removed? `.optional` looks to be not existing property\n if (node.optional) this.token(\"?\");\n this.print(node.typeAnnotation, node);\n}\n\nexport function TSTypeParameterInstantiation(\n this: Printer,\n node: t.TSTypeParameterInstantiation,\n parent: t.Node,\n): void {\n this.token(\"<\");\n this.printList(node.params, node, {});\n if (parent.type === \"ArrowFunctionExpression\" && node.params.length === 1) {\n this.token(\",\");\n }\n this.token(\">\");\n}\n\nexport { TSTypeParameterInstantiation as TSTypeParameterDeclaration };\n\nexport function TSTypeParameter(this: Printer, node: t.TSTypeParameter) {\n if (node.in) {\n this.word(\"in\");\n this.space();\n }\n\n if (node.out) {\n this.word(\"out\");\n this.space();\n }\n\n this.word(\n !process.env.BABEL_8_BREAKING\n ? (node.name as unknown as string)\n : (node.name as unknown as t.Identifier).name,\n );\n\n if (node.constraint) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.print(node.constraint, node);\n }\n\n if (node.default) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.default, node);\n }\n}\n\nexport function TSParameterProperty(\n this: Printer,\n node: t.TSParameterProperty,\n) {\n if (node.accessibility) {\n this.word(node.accessibility);\n this.space();\n }\n\n if (node.readonly) {\n this.word(\"readonly\");\n this.space();\n }\n\n this._param(node.parameter);\n}\n\nexport function TSDeclareFunction(\n this: Printer,\n node: t.TSDeclareFunction,\n parent: NodePath[\"parent\"],\n) {\n if (node.declare) {\n this.word(\"declare\");\n this.space();\n }\n this._functionHead(node, parent);\n this.token(\";\");\n}\n\nexport function TSDeclareMethod(this: Printer, node: t.TSDeclareMethod) {\n this._classMethodHead(node);\n this.token(\";\");\n}\n\nexport function TSQualifiedName(this: Printer, node: t.TSQualifiedName) {\n this.print(node.left, node);\n this.token(\".\");\n this.print(node.right, node);\n}\n\nexport function TSCallSignatureDeclaration(\n this: Printer,\n node: t.TSCallSignatureDeclaration,\n) {\n this.tsPrintSignatureDeclarationBase(node);\n this.token(\";\");\n}\n\nexport function TSConstructSignatureDeclaration(\n this: Printer,\n node: t.TSConstructSignatureDeclaration,\n) {\n this.word(\"new\");\n this.space();\n this.tsPrintSignatureDeclarationBase(node);\n this.token(\";\");\n}\n\nexport function TSPropertySignature(\n this: Printer,\n node: t.TSPropertySignature,\n) {\n const { readonly, initializer } = node;\n if (readonly) {\n this.word(\"readonly\");\n this.space();\n }\n this.tsPrintPropertyOrMethodName(node);\n this.print(node.typeAnnotation, node);\n if (initializer) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(initializer, node);\n }\n this.token(\";\");\n}\n\nexport function tsPrintPropertyOrMethodName(\n this: Printer,\n node: t.TSPropertySignature | t.TSMethodSignature,\n) {\n if (node.computed) {\n this.token(\"[\");\n }\n this.print(node.key, node);\n if (node.computed) {\n this.token(\"]\");\n }\n if (node.optional) {\n this.token(\"?\");\n }\n}\n\nexport function TSMethodSignature(this: Printer, node: t.TSMethodSignature) {\n const { kind } = node;\n if (kind === \"set\" || kind === \"get\") {\n this.word(kind);\n this.space();\n }\n this.tsPrintPropertyOrMethodName(node);\n this.tsPrintSignatureDeclarationBase(node);\n this.token(\";\");\n}\n\nexport function TSIndexSignature(this: Printer, node: t.TSIndexSignature) {\n const { readonly, static: isStatic } = node;\n if (isStatic) {\n this.word(\"static\");\n this.space();\n }\n if (readonly) {\n this.word(\"readonly\");\n this.space();\n }\n this.token(\"[\");\n this._parameters(node.parameters, node);\n this.token(\"]\");\n this.print(node.typeAnnotation, node);\n this.token(\";\");\n}\n\nexport function TSAnyKeyword(this: Printer) {\n this.word(\"any\");\n}\nexport function TSBigIntKeyword(this: Printer) {\n this.word(\"bigint\");\n}\nexport function TSUnknownKeyword(this: Printer) {\n this.word(\"unknown\");\n}\nexport function TSNumberKeyword(this: Printer) {\n this.word(\"number\");\n}\nexport function TSObjectKeyword(this: Printer) {\n this.word(\"object\");\n}\nexport function TSBooleanKeyword(this: Printer) {\n this.word(\"boolean\");\n}\nexport function TSStringKeyword(this: Printer) {\n this.word(\"string\");\n}\nexport function TSSymbolKeyword(this: Printer) {\n this.word(\"symbol\");\n}\nexport function TSVoidKeyword(this: Printer) {\n this.word(\"void\");\n}\nexport function TSUndefinedKeyword(this: Printer) {\n this.word(\"undefined\");\n}\nexport function TSNullKeyword(this: Printer) {\n this.word(\"null\");\n}\nexport function TSNeverKeyword(this: Printer) {\n this.word(\"never\");\n}\nexport function TSIntrinsicKeyword(this: Printer) {\n this.word(\"intrinsic\");\n}\n\nexport function TSThisType(this: Printer) {\n this.word(\"this\");\n}\n\nexport function TSFunctionType(this: Printer, node: t.TSFunctionType) {\n this.tsPrintFunctionOrConstructorType(node);\n}\n\nexport function TSConstructorType(this: Printer, node: t.TSConstructorType) {\n if (node.abstract) {\n this.word(\"abstract\");\n this.space();\n }\n this.word(\"new\");\n this.space();\n this.tsPrintFunctionOrConstructorType(node);\n}\n\nexport function tsPrintFunctionOrConstructorType(\n this: Printer,\n node: t.TSFunctionType | t.TSConstructorType,\n) {\n const { typeParameters } = node;\n const parameters = process.env.BABEL_8_BREAKING\n ? // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST shape\n node.params\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n node.parameters;\n this.print(typeParameters, node);\n this.token(\"(\");\n this._parameters(parameters, node);\n this.token(\")\");\n this.space();\n this.token(\"=>\");\n this.space();\n const returnType = process.env.BABEL_8_BREAKING\n ? // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST shape\n node.returnType\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n node.typeAnnotation;\n this.print(returnType.typeAnnotation, node);\n}\n\nexport function TSTypeReference(this: Printer, node: t.TSTypeReference) {\n this.print(node.typeName, node, true);\n this.print(node.typeParameters, node, true);\n}\n\nexport function TSTypePredicate(this: Printer, node: t.TSTypePredicate) {\n if (node.asserts) {\n this.word(\"asserts\");\n this.space();\n }\n this.print(node.parameterName);\n if (node.typeAnnotation) {\n this.space();\n this.word(\"is\");\n this.space();\n this.print(node.typeAnnotation.typeAnnotation);\n }\n}\n\nexport function TSTypeQuery(this: Printer, node: t.TSTypeQuery) {\n this.word(\"typeof\");\n this.space();\n this.print(node.exprName);\n\n if (node.typeParameters) {\n this.print(node.typeParameters, node);\n }\n}\n\nexport function TSTypeLiteral(this: Printer, node: t.TSTypeLiteral) {\n this.tsPrintTypeLiteralOrInterfaceBody(node.members, node);\n}\n\nexport function tsPrintTypeLiteralOrInterfaceBody(\n this: Printer,\n members: t.TSTypeElement[],\n node: t.TSType | t.TSInterfaceBody,\n) {\n tsPrintBraced(this, members, node);\n}\n\nfunction tsPrintBraced(printer: Printer, members: t.Node[], node: t.Node) {\n printer.token(\"{\");\n if (members.length) {\n printer.indent();\n printer.newline();\n for (const member of members) {\n printer.print(member, node);\n //this.token(sep);\n printer.newline();\n }\n printer.dedent();\n }\n\n printer.sourceWithOffset(\"end\", node.loc, 0, -1);\n\n printer.rightBrace();\n}\n\nexport function TSArrayType(this: Printer, node: t.TSArrayType) {\n this.print(node.elementType, node, true);\n\n this.token(\"[]\");\n}\n\nexport function TSTupleType(this: Printer, node: t.TSTupleType) {\n this.token(\"[\");\n this.printList(node.elementTypes, node);\n this.token(\"]\");\n}\n\nexport function TSOptionalType(this: Printer, node: t.TSOptionalType) {\n this.print(node.typeAnnotation, node);\n this.token(\"?\");\n}\n\nexport function TSRestType(this: Printer, node: t.TSRestType) {\n this.token(\"...\");\n this.print(node.typeAnnotation, node);\n}\n\nexport function TSNamedTupleMember(this: Printer, node: t.TSNamedTupleMember) {\n this.print(node.label, node);\n if (node.optional) this.token(\"?\");\n this.token(\":\");\n this.space();\n this.print(node.elementType, node);\n}\n\nexport function TSUnionType(this: Printer, node: t.TSUnionType) {\n tsPrintUnionOrIntersectionType(this, node, \"|\");\n}\n\nexport function TSIntersectionType(this: Printer, node: t.TSIntersectionType) {\n tsPrintUnionOrIntersectionType(this, node, \"&\");\n}\n\nfunction tsPrintUnionOrIntersectionType(\n printer: Printer,\n node: t.TSUnionType | t.TSIntersectionType,\n sep: \"|\" | \"&\",\n) {\n printer.printJoin(node.types, node, {\n separator() {\n this.space();\n this.token(sep);\n this.space();\n },\n });\n}\n\nexport function TSConditionalType(this: Printer, node: t.TSConditionalType) {\n this.print(node.checkType);\n this.space();\n this.word(\"extends\");\n this.space();\n this.print(node.extendsType);\n this.space();\n this.token(\"?\");\n this.space();\n this.print(node.trueType);\n this.space();\n this.token(\":\");\n this.space();\n this.print(node.falseType);\n}\n\nexport function TSInferType(this: Printer, node: t.TSInferType) {\n this.token(\"infer\");\n this.space();\n this.print(node.typeParameter);\n}\n\nexport function TSParenthesizedType(\n this: Printer,\n node: t.TSParenthesizedType,\n) {\n this.token(\"(\");\n this.print(node.typeAnnotation, node);\n this.token(\")\");\n}\n\nexport function TSTypeOperator(this: Printer, node: t.TSTypeOperator) {\n this.word(node.operator);\n this.space();\n this.print(node.typeAnnotation, node);\n}\n\nexport function TSIndexedAccessType(\n this: Printer,\n node: t.TSIndexedAccessType,\n) {\n this.print(node.objectType, node, true);\n this.token(\"[\");\n this.print(node.indexType, node);\n this.token(\"]\");\n}\n\nexport function TSMappedType(this: Printer, node: t.TSMappedType) {\n const { nameType, optional, readonly, typeParameter } = node;\n this.token(\"{\");\n this.space();\n if (readonly) {\n tokenIfPlusMinus(this, readonly);\n this.word(\"readonly\");\n this.space();\n }\n\n this.token(\"[\");\n this.word(\n !process.env.BABEL_8_BREAKING\n ? (typeParameter.name as unknown as string)\n : (typeParameter.name as unknown as t.Identifier).name,\n );\n this.space();\n this.word(\"in\");\n this.space();\n this.print(typeParameter.constraint, typeParameter);\n\n if (nameType) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(nameType, node);\n }\n\n this.token(\"]\");\n\n if (optional) {\n tokenIfPlusMinus(this, optional);\n this.token(\"?\");\n }\n this.token(\":\");\n this.space();\n this.print(node.typeAnnotation, node);\n this.space();\n this.token(\"}\");\n}\n\nfunction tokenIfPlusMinus(self: Printer, tok: true | \"+\" | \"-\") {\n if (tok !== true) {\n self.token(tok);\n }\n}\n\nexport function TSLiteralType(this: Printer, node: t.TSLiteralType) {\n this.print(node.literal, node);\n}\n\nexport function TSExpressionWithTypeArguments(\n this: Printer,\n node: t.TSExpressionWithTypeArguments,\n) {\n this.print(node.expression, node);\n this.print(node.typeParameters, node);\n}\n\nexport function TSInterfaceDeclaration(\n this: Printer,\n node: t.TSInterfaceDeclaration,\n) {\n const { declare, id, typeParameters, extends: extendz, body } = node;\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"interface\");\n this.space();\n this.print(id, node);\n this.print(typeParameters, node);\n if (extendz?.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(extendz, node);\n }\n this.space();\n this.print(body, node);\n}\n\nexport function TSInterfaceBody(this: Printer, node: t.TSInterfaceBody) {\n this.tsPrintTypeLiteralOrInterfaceBody(node.body, node);\n}\n\nexport function TSTypeAliasDeclaration(\n this: Printer,\n node: t.TSTypeAliasDeclaration,\n) {\n const { declare, id, typeParameters, typeAnnotation } = node;\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"type\");\n this.space();\n this.print(id, node);\n this.print(typeParameters, node);\n this.space();\n this.token(\"=\");\n this.space();\n this.print(typeAnnotation, node);\n this.token(\";\");\n}\n\nfunction TSTypeExpression(\n this: Printer,\n node: t.TSAsExpression | t.TSSatisfiesExpression,\n) {\n const { type, expression, typeAnnotation } = node;\n const forceParens = !!expression.trailingComments?.length;\n this.print(expression, node, true, undefined, forceParens);\n this.space();\n this.word(type === \"TSAsExpression\" ? \"as\" : \"satisfies\");\n this.space();\n this.print(typeAnnotation, node);\n}\n\nexport {\n TSTypeExpression as TSAsExpression,\n TSTypeExpression as TSSatisfiesExpression,\n};\n\nexport function TSTypeAssertion(this: Printer, node: t.TSTypeAssertion) {\n const { typeAnnotation, expression } = node;\n this.token(\"<\");\n this.print(typeAnnotation, node);\n this.token(\">\");\n this.space();\n this.print(expression, node);\n}\n\nexport function TSInstantiationExpression(\n this: Printer,\n node: t.TSInstantiationExpression,\n) {\n this.print(node.expression, node);\n this.print(node.typeParameters, node);\n}\n\nexport function TSEnumDeclaration(this: Printer, node: t.TSEnumDeclaration) {\n const { declare, const: isConst, id, members } = node;\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n if (isConst) {\n this.word(\"const\");\n this.space();\n }\n this.word(\"enum\");\n this.space();\n this.print(id, node);\n this.space();\n tsPrintBraced(this, members, node);\n}\n\nexport function TSEnumMember(this: Printer, node: t.TSEnumMember) {\n const { id, initializer } = node;\n this.print(id, node);\n if (initializer) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(initializer, node);\n }\n this.token(\",\");\n}\n\nexport function TSModuleDeclaration(\n this: Printer,\n node: t.TSModuleDeclaration,\n) {\n const { declare, id } = node;\n\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n\n if (!node.global) {\n this.word(id.type === \"Identifier\" ? \"namespace\" : \"module\");\n this.space();\n }\n this.print(id, node);\n\n if (!node.body) {\n this.token(\";\");\n return;\n }\n\n let body = node.body;\n while (body.type === \"TSModuleDeclaration\") {\n this.token(\".\");\n this.print(body.id, body);\n body = body.body;\n }\n\n this.space();\n this.print(body, node);\n}\n\nexport function TSModuleBlock(this: Printer, node: t.TSModuleBlock) {\n tsPrintBraced(this, node.body, node);\n}\n\nexport function TSImportType(this: Printer, node: t.TSImportType) {\n const { argument, qualifier, typeParameters } = node;\n this.word(\"import\");\n this.token(\"(\");\n this.print(argument, node);\n this.token(\")\");\n if (qualifier) {\n this.token(\".\");\n this.print(qualifier, node);\n }\n if (typeParameters) {\n this.print(typeParameters, node);\n }\n}\n\nexport function TSImportEqualsDeclaration(\n this: Printer,\n node: t.TSImportEqualsDeclaration,\n) {\n const { isExport, id, moduleReference } = node;\n if (isExport) {\n this.word(\"export\");\n this.space();\n }\n this.word(\"import\");\n this.space();\n this.print(id, node);\n this.space();\n this.token(\"=\");\n this.space();\n this.print(moduleReference, node);\n this.token(\";\");\n}\n\nexport function TSExternalModuleReference(\n this: Printer,\n node: t.TSExternalModuleReference,\n) {\n this.token(\"require(\");\n this.print(node.expression, node);\n this.token(\")\");\n}\n\nexport function TSNonNullExpression(\n this: Printer,\n node: t.TSNonNullExpression,\n) {\n this.print(node.expression, node);\n this.token(\"!\");\n}\n\nexport function TSExportAssignment(this: Printer, node: t.TSExportAssignment) {\n this.word(\"export\");\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.expression, node);\n this.token(\";\");\n}\n\nexport function TSNamespaceExportDeclaration(\n this: Printer,\n node: t.TSNamespaceExportDeclaration,\n) {\n this.word(\"export\");\n this.space();\n this.word(\"as\");\n this.space();\n this.word(\"namespace\");\n this.space();\n this.print(node.id, node);\n}\n\nexport function tsPrintSignatureDeclarationBase(this: Printer, node: any) {\n const { typeParameters } = node;\n const parameters = process.env.BABEL_8_BREAKING\n ? node.params\n : node.parameters;\n this.print(typeParameters, node);\n this.token(\"(\");\n this._parameters(parameters, node);\n this.token(\")\");\n const returnType = process.env.BABEL_8_BREAKING\n ? node.returnType\n : node.typeAnnotation;\n this.print(returnType, node);\n}\n\nexport function tsPrintClassMemberModifiers(\n this: Printer,\n node:\n | t.ClassProperty\n | t.ClassAccessorProperty\n | t.ClassMethod\n | t.ClassPrivateMethod\n | t.TSDeclareMethod,\n) {\n const isField =\n node.type === \"ClassAccessorProperty\" || node.type === \"ClassProperty\";\n if (isField && node.declare) {\n this.word(\"declare\");\n this.space();\n }\n if (node.accessibility) {\n this.word(node.accessibility);\n this.space();\n }\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n if (node.override) {\n this.word(\"override\");\n this.space();\n }\n if (node.abstract) {\n this.word(\"abstract\");\n this.space();\n }\n if (isField && node.readonly) {\n this.word(\"readonly\");\n this.space();\n }\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["TSTypeAnnotation","node","token","space","optional","print","typeAnnotation","TSTypeParameterInstantiation","parent","printList","params","type","length","TSTypeParameter","in","word","out","name","constraint","default","TSParameterProperty","accessibility","readonly","_param","parameter","TSDeclareFunction","declare","_functionHead","TSDeclareMethod","_classMethodHead","TSQualifiedName","left","right","TSCallSignatureDeclaration","tsPrintSignatureDeclarationBase","TSConstructSignatureDeclaration","TSPropertySignature","initializer","tsPrintPropertyOrMethodName","computed","key","TSMethodSignature","kind","TSIndexSignature","static","isStatic","_parameters","parameters","TSAnyKeyword","TSBigIntKeyword","TSUnknownKeyword","TSNumberKeyword","TSObjectKeyword","TSBooleanKeyword","TSStringKeyword","TSSymbolKeyword","TSVoidKeyword","TSUndefinedKeyword","TSNullKeyword","TSNeverKeyword","TSIntrinsicKeyword","TSThisType","TSFunctionType","tsPrintFunctionOrConstructorType","TSConstructorType","abstract","typeParameters","returnType","TSTypeReference","typeName","TSTypePredicate","asserts","parameterName","TSTypeQuery","exprName","TSTypeLiteral","tsPrintTypeLiteralOrInterfaceBody","members","tsPrintBraced","printer","indent","newline","member","dedent","rightBrace","TSArrayType","elementType","TSTupleType","elementTypes","TSOptionalType","TSRestType","TSNamedTupleMember","label","TSUnionType","tsPrintUnionOrIntersectionType","TSIntersectionType","sep","printJoin","types","separator","TSConditionalType","checkType","extendsType","trueType","falseType","TSInferType","typeParameter","TSParenthesizedType","TSTypeOperator","operator","TSIndexedAccessType","objectType","indexType","TSMappedType","nameType","tokenIfPlusMinus","self","tok","TSLiteralType","literal","TSExpressionWithTypeArguments","expression","TSInterfaceDeclaration","id","extends","extendz","body","TSInterfaceBody","TSTypeAliasDeclaration","TSTypeExpression","_expression$trailingC","forceParens","trailingComments","undefined","TSTypeAssertion","TSInstantiationExpression","TSEnumDeclaration","const","isConst","TSEnumMember","TSModuleDeclaration","global","TSModuleBlock","TSImportType","argument","qualifier","TSImportEqualsDeclaration","isExport","moduleReference","TSExternalModuleReference","TSNonNullExpression","TSExportAssignment","TSNamespaceExportDeclaration","tsPrintClassMemberModifiers","isField","override"],"sources":["../../src/generators/typescript.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport type * as t from \"@babel/types\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport function TSTypeAnnotation(this: Printer, node: t.TSTypeAnnotation) {\n this.token(\":\");\n this.space();\n // @ts-expect-error todo(flow->ts) can this be removed? `.optional` looks to be not existing property\n if (node.optional) this.token(\"?\");\n this.print(node.typeAnnotation, node);\n}\n\nexport function TSTypeParameterInstantiation(\n this: Printer,\n node: t.TSTypeParameterInstantiation,\n parent: t.Node,\n): void {\n this.token(\"<\");\n this.printList(node.params, node, {});\n if (parent.type === \"ArrowFunctionExpression\" && node.params.length === 1) {\n this.token(\",\");\n }\n this.token(\">\");\n}\n\nexport { TSTypeParameterInstantiation as TSTypeParameterDeclaration };\n\nexport function TSTypeParameter(this: Printer, node: t.TSTypeParameter) {\n if (node.in) {\n this.word(\"in\");\n this.space();\n }\n\n if (node.out) {\n this.word(\"out\");\n this.space();\n }\n\n this.word(\n !process.env.BABEL_8_BREAKING\n ? (node.name as unknown as string)\n : (node.name as unknown as t.Identifier).name,\n );\n\n if (node.constraint) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.print(node.constraint, node);\n }\n\n if (node.default) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.default, node);\n }\n}\n\nexport function TSParameterProperty(\n this: Printer,\n node: t.TSParameterProperty,\n) {\n if (node.accessibility) {\n this.word(node.accessibility);\n this.space();\n }\n\n if (node.readonly) {\n this.word(\"readonly\");\n this.space();\n }\n\n this._param(node.parameter);\n}\n\nexport function TSDeclareFunction(\n this: Printer,\n node: t.TSDeclareFunction,\n parent: NodePath[\"parent\"],\n) {\n if (node.declare) {\n this.word(\"declare\");\n this.space();\n }\n this._functionHead(node, parent);\n this.token(\";\");\n}\n\nexport function TSDeclareMethod(this: Printer, node: t.TSDeclareMethod) {\n this._classMethodHead(node);\n this.token(\";\");\n}\n\nexport function TSQualifiedName(this: Printer, node: t.TSQualifiedName) {\n this.print(node.left, node);\n this.token(\".\");\n this.print(node.right, node);\n}\n\nexport function TSCallSignatureDeclaration(\n this: Printer,\n node: t.TSCallSignatureDeclaration,\n) {\n this.tsPrintSignatureDeclarationBase(node);\n this.token(\";\");\n}\n\nexport function TSConstructSignatureDeclaration(\n this: Printer,\n node: t.TSConstructSignatureDeclaration,\n) {\n this.word(\"new\");\n this.space();\n this.tsPrintSignatureDeclarationBase(node);\n this.token(\";\");\n}\n\nexport function TSPropertySignature(\n this: Printer,\n node: t.TSPropertySignature,\n) {\n const { readonly, initializer } = node;\n if (readonly) {\n this.word(\"readonly\");\n this.space();\n }\n this.tsPrintPropertyOrMethodName(node);\n this.print(node.typeAnnotation, node);\n if (initializer) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(initializer, node);\n }\n this.token(\";\");\n}\n\nexport function tsPrintPropertyOrMethodName(\n this: Printer,\n node: t.TSPropertySignature | t.TSMethodSignature,\n) {\n if (node.computed) {\n this.token(\"[\");\n }\n this.print(node.key, node);\n if (node.computed) {\n this.token(\"]\");\n }\n if (node.optional) {\n this.token(\"?\");\n }\n}\n\nexport function TSMethodSignature(this: Printer, node: t.TSMethodSignature) {\n const { kind } = node;\n if (kind === \"set\" || kind === \"get\") {\n this.word(kind);\n this.space();\n }\n this.tsPrintPropertyOrMethodName(node);\n this.tsPrintSignatureDeclarationBase(node);\n this.token(\";\");\n}\n\nexport function TSIndexSignature(this: Printer, node: t.TSIndexSignature) {\n const { readonly, static: isStatic } = node;\n if (isStatic) {\n this.word(\"static\");\n this.space();\n }\n if (readonly) {\n this.word(\"readonly\");\n this.space();\n }\n this.token(\"[\");\n this._parameters(node.parameters, node);\n this.token(\"]\");\n this.print(node.typeAnnotation, node);\n this.token(\";\");\n}\n\nexport function TSAnyKeyword(this: Printer) {\n this.word(\"any\");\n}\nexport function TSBigIntKeyword(this: Printer) {\n this.word(\"bigint\");\n}\nexport function TSUnknownKeyword(this: Printer) {\n this.word(\"unknown\");\n}\nexport function TSNumberKeyword(this: Printer) {\n this.word(\"number\");\n}\nexport function TSObjectKeyword(this: Printer) {\n this.word(\"object\");\n}\nexport function TSBooleanKeyword(this: Printer) {\n this.word(\"boolean\");\n}\nexport function TSStringKeyword(this: Printer) {\n this.word(\"string\");\n}\nexport function TSSymbolKeyword(this: Printer) {\n this.word(\"symbol\");\n}\nexport function TSVoidKeyword(this: Printer) {\n this.word(\"void\");\n}\nexport function TSUndefinedKeyword(this: Printer) {\n this.word(\"undefined\");\n}\nexport function TSNullKeyword(this: Printer) {\n this.word(\"null\");\n}\nexport function TSNeverKeyword(this: Printer) {\n this.word(\"never\");\n}\nexport function TSIntrinsicKeyword(this: Printer) {\n this.word(\"intrinsic\");\n}\n\nexport function TSThisType(this: Printer) {\n this.word(\"this\");\n}\n\nexport function TSFunctionType(this: Printer, node: t.TSFunctionType) {\n this.tsPrintFunctionOrConstructorType(node);\n}\n\nexport function TSConstructorType(this: Printer, node: t.TSConstructorType) {\n if (node.abstract) {\n this.word(\"abstract\");\n this.space();\n }\n this.word(\"new\");\n this.space();\n this.tsPrintFunctionOrConstructorType(node);\n}\n\nexport function tsPrintFunctionOrConstructorType(\n this: Printer,\n node: t.TSFunctionType | t.TSConstructorType,\n) {\n const { typeParameters } = node;\n const parameters = process.env.BABEL_8_BREAKING\n ? // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST shape\n node.params\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n node.parameters;\n this.print(typeParameters, node);\n this.token(\"(\");\n this._parameters(parameters, node);\n this.token(\")\");\n this.space();\n this.token(\"=>\");\n this.space();\n const returnType = process.env.BABEL_8_BREAKING\n ? // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST shape\n node.returnType\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n node.typeAnnotation;\n this.print(returnType.typeAnnotation, node);\n}\n\nexport function TSTypeReference(this: Printer, node: t.TSTypeReference) {\n this.print(node.typeName, node, true);\n this.print(node.typeParameters, node, true);\n}\n\nexport function TSTypePredicate(this: Printer, node: t.TSTypePredicate) {\n if (node.asserts) {\n this.word(\"asserts\");\n this.space();\n }\n this.print(node.parameterName);\n if (node.typeAnnotation) {\n this.space();\n this.word(\"is\");\n this.space();\n this.print(node.typeAnnotation.typeAnnotation);\n }\n}\n\nexport function TSTypeQuery(this: Printer, node: t.TSTypeQuery) {\n this.word(\"typeof\");\n this.space();\n this.print(node.exprName);\n\n if (node.typeParameters) {\n this.print(node.typeParameters, node);\n }\n}\n\nexport function TSTypeLiteral(this: Printer, node: t.TSTypeLiteral) {\n this.tsPrintTypeLiteralOrInterfaceBody(node.members, node);\n}\n\nexport function tsPrintTypeLiteralOrInterfaceBody(\n this: Printer,\n members: t.TSTypeElement[],\n node: t.TSType | t.TSInterfaceBody,\n) {\n tsPrintBraced(this, members, node);\n}\n\nfunction tsPrintBraced(printer: Printer, members: t.Node[], node: t.Node) {\n printer.token(\"{\");\n if (members.length) {\n printer.indent();\n printer.newline();\n for (const member of members) {\n printer.print(member, node);\n //this.token(sep);\n printer.newline();\n }\n printer.dedent();\n }\n\n printer.rightBrace(node);\n}\n\nexport function TSArrayType(this: Printer, node: t.TSArrayType) {\n this.print(node.elementType, node, true);\n\n this.token(\"[]\");\n}\n\nexport function TSTupleType(this: Printer, node: t.TSTupleType) {\n this.token(\"[\");\n this.printList(node.elementTypes, node);\n this.token(\"]\");\n}\n\nexport function TSOptionalType(this: Printer, node: t.TSOptionalType) {\n this.print(node.typeAnnotation, node);\n this.token(\"?\");\n}\n\nexport function TSRestType(this: Printer, node: t.TSRestType) {\n this.token(\"...\");\n this.print(node.typeAnnotation, node);\n}\n\nexport function TSNamedTupleMember(this: Printer, node: t.TSNamedTupleMember) {\n this.print(node.label, node);\n if (node.optional) this.token(\"?\");\n this.token(\":\");\n this.space();\n this.print(node.elementType, node);\n}\n\nexport function TSUnionType(this: Printer, node: t.TSUnionType) {\n tsPrintUnionOrIntersectionType(this, node, \"|\");\n}\n\nexport function TSIntersectionType(this: Printer, node: t.TSIntersectionType) {\n tsPrintUnionOrIntersectionType(this, node, \"&\");\n}\n\nfunction tsPrintUnionOrIntersectionType(\n printer: Printer,\n node: t.TSUnionType | t.TSIntersectionType,\n sep: \"|\" | \"&\",\n) {\n printer.printJoin(node.types, node, {\n separator() {\n this.space();\n this.token(sep);\n this.space();\n },\n });\n}\n\nexport function TSConditionalType(this: Printer, node: t.TSConditionalType) {\n this.print(node.checkType);\n this.space();\n this.word(\"extends\");\n this.space();\n this.print(node.extendsType);\n this.space();\n this.token(\"?\");\n this.space();\n this.print(node.trueType);\n this.space();\n this.token(\":\");\n this.space();\n this.print(node.falseType);\n}\n\nexport function TSInferType(this: Printer, node: t.TSInferType) {\n this.token(\"infer\");\n this.space();\n this.print(node.typeParameter);\n}\n\nexport function TSParenthesizedType(\n this: Printer,\n node: t.TSParenthesizedType,\n) {\n this.token(\"(\");\n this.print(node.typeAnnotation, node);\n this.token(\")\");\n}\n\nexport function TSTypeOperator(this: Printer, node: t.TSTypeOperator) {\n this.word(node.operator);\n this.space();\n this.print(node.typeAnnotation, node);\n}\n\nexport function TSIndexedAccessType(\n this: Printer,\n node: t.TSIndexedAccessType,\n) {\n this.print(node.objectType, node, true);\n this.token(\"[\");\n this.print(node.indexType, node);\n this.token(\"]\");\n}\n\nexport function TSMappedType(this: Printer, node: t.TSMappedType) {\n const { nameType, optional, readonly, typeParameter } = node;\n this.token(\"{\");\n this.space();\n if (readonly) {\n tokenIfPlusMinus(this, readonly);\n this.word(\"readonly\");\n this.space();\n }\n\n this.token(\"[\");\n this.word(\n !process.env.BABEL_8_BREAKING\n ? (typeParameter.name as unknown as string)\n : (typeParameter.name as unknown as t.Identifier).name,\n );\n this.space();\n this.word(\"in\");\n this.space();\n this.print(typeParameter.constraint, typeParameter);\n\n if (nameType) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(nameType, node);\n }\n\n this.token(\"]\");\n\n if (optional) {\n tokenIfPlusMinus(this, optional);\n this.token(\"?\");\n }\n this.token(\":\");\n this.space();\n this.print(node.typeAnnotation, node);\n this.space();\n this.token(\"}\");\n}\n\nfunction tokenIfPlusMinus(self: Printer, tok: true | \"+\" | \"-\") {\n if (tok !== true) {\n self.token(tok);\n }\n}\n\nexport function TSLiteralType(this: Printer, node: t.TSLiteralType) {\n this.print(node.literal, node);\n}\n\nexport function TSExpressionWithTypeArguments(\n this: Printer,\n node: t.TSExpressionWithTypeArguments,\n) {\n this.print(node.expression, node);\n this.print(node.typeParameters, node);\n}\n\nexport function TSInterfaceDeclaration(\n this: Printer,\n node: t.TSInterfaceDeclaration,\n) {\n const { declare, id, typeParameters, extends: extendz, body } = node;\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"interface\");\n this.space();\n this.print(id, node);\n this.print(typeParameters, node);\n if (extendz?.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(extendz, node);\n }\n this.space();\n this.print(body, node);\n}\n\nexport function TSInterfaceBody(this: Printer, node: t.TSInterfaceBody) {\n this.tsPrintTypeLiteralOrInterfaceBody(node.body, node);\n}\n\nexport function TSTypeAliasDeclaration(\n this: Printer,\n node: t.TSTypeAliasDeclaration,\n) {\n const { declare, id, typeParameters, typeAnnotation } = node;\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"type\");\n this.space();\n this.print(id, node);\n this.print(typeParameters, node);\n this.space();\n this.token(\"=\");\n this.space();\n this.print(typeAnnotation, node);\n this.token(\";\");\n}\n\nfunction TSTypeExpression(\n this: Printer,\n node: t.TSAsExpression | t.TSSatisfiesExpression,\n) {\n const { type, expression, typeAnnotation } = node;\n const forceParens = !!expression.trailingComments?.length;\n this.print(expression, node, true, undefined, forceParens);\n this.space();\n this.word(type === \"TSAsExpression\" ? \"as\" : \"satisfies\");\n this.space();\n this.print(typeAnnotation, node);\n}\n\nexport {\n TSTypeExpression as TSAsExpression,\n TSTypeExpression as TSSatisfiesExpression,\n};\n\nexport function TSTypeAssertion(this: Printer, node: t.TSTypeAssertion) {\n const { typeAnnotation, expression } = node;\n this.token(\"<\");\n this.print(typeAnnotation, node);\n this.token(\">\");\n this.space();\n this.print(expression, node);\n}\n\nexport function TSInstantiationExpression(\n this: Printer,\n node: t.TSInstantiationExpression,\n) {\n this.print(node.expression, node);\n this.print(node.typeParameters, node);\n}\n\nexport function TSEnumDeclaration(this: Printer, node: t.TSEnumDeclaration) {\n const { declare, const: isConst, id, members } = node;\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n if (isConst) {\n this.word(\"const\");\n this.space();\n }\n this.word(\"enum\");\n this.space();\n this.print(id, node);\n this.space();\n tsPrintBraced(this, members, node);\n}\n\nexport function TSEnumMember(this: Printer, node: t.TSEnumMember) {\n const { id, initializer } = node;\n this.print(id, node);\n if (initializer) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(initializer, node);\n }\n this.token(\",\");\n}\n\nexport function TSModuleDeclaration(\n this: Printer,\n node: t.TSModuleDeclaration,\n) {\n const { declare, id } = node;\n\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n\n if (!node.global) {\n this.word(id.type === \"Identifier\" ? \"namespace\" : \"module\");\n this.space();\n }\n this.print(id, node);\n\n if (!node.body) {\n this.token(\";\");\n return;\n }\n\n let body = node.body;\n while (body.type === \"TSModuleDeclaration\") {\n this.token(\".\");\n this.print(body.id, body);\n body = body.body;\n }\n\n this.space();\n this.print(body, node);\n}\n\nexport function TSModuleBlock(this: Printer, node: t.TSModuleBlock) {\n tsPrintBraced(this, node.body, node);\n}\n\nexport function TSImportType(this: Printer, node: t.TSImportType) {\n const { argument, qualifier, typeParameters } = node;\n this.word(\"import\");\n this.token(\"(\");\n this.print(argument, node);\n this.token(\")\");\n if (qualifier) {\n this.token(\".\");\n this.print(qualifier, node);\n }\n if (typeParameters) {\n this.print(typeParameters, node);\n }\n}\n\nexport function TSImportEqualsDeclaration(\n this: Printer,\n node: t.TSImportEqualsDeclaration,\n) {\n const { isExport, id, moduleReference } = node;\n if (isExport) {\n this.word(\"export\");\n this.space();\n }\n this.word(\"import\");\n this.space();\n this.print(id, node);\n this.space();\n this.token(\"=\");\n this.space();\n this.print(moduleReference, node);\n this.token(\";\");\n}\n\nexport function TSExternalModuleReference(\n this: Printer,\n node: t.TSExternalModuleReference,\n) {\n this.token(\"require(\");\n this.print(node.expression, node);\n this.token(\")\");\n}\n\nexport function TSNonNullExpression(\n this: Printer,\n node: t.TSNonNullExpression,\n) {\n this.print(node.expression, node);\n this.token(\"!\");\n}\n\nexport function TSExportAssignment(this: Printer, node: t.TSExportAssignment) {\n this.word(\"export\");\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.expression, node);\n this.token(\";\");\n}\n\nexport function TSNamespaceExportDeclaration(\n this: Printer,\n node: t.TSNamespaceExportDeclaration,\n) {\n this.word(\"export\");\n this.space();\n this.word(\"as\");\n this.space();\n this.word(\"namespace\");\n this.space();\n this.print(node.id, node);\n}\n\nexport function tsPrintSignatureDeclarationBase(this: Printer, node: any) {\n const { typeParameters } = node;\n const parameters = process.env.BABEL_8_BREAKING\n ? node.params\n : node.parameters;\n this.print(typeParameters, node);\n this.token(\"(\");\n this._parameters(parameters, node);\n this.token(\")\");\n const returnType = process.env.BABEL_8_BREAKING\n ? node.returnType\n : node.typeAnnotation;\n this.print(returnType, node);\n}\n\nexport function tsPrintClassMemberModifiers(\n this: Printer,\n node:\n | t.ClassProperty\n | t.ClassAccessorProperty\n | t.ClassMethod\n | t.ClassPrivateMethod\n | t.TSDeclareMethod,\n) {\n const isField =\n node.type === \"ClassAccessorProperty\" || node.type === \"ClassProperty\";\n if (isField && node.declare) {\n this.word(\"declare\");\n this.space();\n }\n if (node.accessibility) {\n this.word(node.accessibility);\n this.space();\n }\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n if (node.override) {\n this.word(\"override\");\n this.space();\n }\n if (node.abstract) {\n this.word(\"abstract\");\n this.space();\n }\n if (isField && node.readonly) {\n this.word(\"readonly\");\n this.space();\n }\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/index.js b/node_modules/@babel/generator/lib/index.js index d0ef98628..4e6827439 100644 --- a/node_modules/@babel/generator/lib/index.js +++ b/node_modules/@babel/generator/lib/index.js @@ -40,7 +40,8 @@ function normalizeOptions(code, opts) { minimal: false }, opts.jsescOption), recordAndTupleSyntaxType: opts.recordAndTupleSyntaxType, - topicToken: opts.topicToken + topicToken: opts.topicToken, + importAttributesKeyword: opts.importAttributesKeyword }; { format.decoratorsBeforeExport = opts.decoratorsBeforeExport; diff --git a/node_modules/@babel/generator/lib/index.js.map b/node_modules/@babel/generator/lib/index.js.map index 7e186c860..e1e94818c 100644 --- a/node_modules/@babel/generator/lib/index.js.map +++ b/node_modules/@babel/generator/lib/index.js.map @@ -1 +1 @@ -{"version":3,"names":["_sourceMap","require","_printer","Generator","Printer","constructor","ast","opts","code","format","normalizeOptions","map","sourceMaps","SourceMap","generate","auxiliaryCommentBefore","auxiliaryCommentAfter","shouldPrintComment","retainLines","retainFunctionParens","comments","compact","minified","concise","indent","adjustMultilineComment","style","jsescOption","Object","assign","quotes","wrap","minimal","recordAndTupleSyntaxType","topicToken","decoratorsBeforeExport","json","jsonCompatibleStrings","value","includes","length","console","error","filename","undefined","CodeGenerator","_generator","exports","gen"],"sources":["../src/index.ts"],"sourcesContent":["import SourceMap from \"./source-map\";\nimport Printer from \"./printer\";\nimport type * as t from \"@babel/types\";\nimport type { Opts as jsescOptions } from \"jsesc\";\nimport type { Format } from \"./printer\";\nimport type {\n RecordAndTuplePluginOptions,\n PipelineOperatorPluginOptions,\n} from \"@babel/parser\";\nimport type { DecodedSourceMap, Mapping } from \"@jridgewell/gen-mapping\";\n\n/**\n * Babel's code generator, turns an ast into code, maintaining sourcemaps,\n * user preferences, and valid output.\n */\n\nclass Generator extends Printer {\n constructor(\n ast: t.Node,\n opts: GeneratorOptions = {},\n code: string | { [filename: string]: string },\n ) {\n const format = normalizeOptions(code, opts);\n const map = opts.sourceMaps ? new SourceMap(opts, code) : null;\n super(format, map);\n\n this.ast = ast;\n }\n\n ast: t.Node;\n\n /**\n * Generate code and sourcemap from ast.\n *\n * Appends comments that weren't attached to any node to the end of the generated output.\n */\n\n generate() {\n return super.generate(this.ast);\n }\n}\n\n/**\n * Normalize generator options, setting defaults.\n *\n * - Detects code indentation.\n * - If `opts.compact = \"auto\"` and the code is over 500KB, `compact` will be set to `true`.\n */\n\nfunction normalizeOptions(\n code: string | { [filename: string]: string },\n opts: GeneratorOptions,\n): Format {\n const format: Format = {\n auxiliaryCommentBefore: opts.auxiliaryCommentBefore,\n auxiliaryCommentAfter: opts.auxiliaryCommentAfter,\n shouldPrintComment: opts.shouldPrintComment,\n retainLines: opts.retainLines,\n retainFunctionParens: opts.retainFunctionParens,\n comments: opts.comments == null || opts.comments,\n compact: opts.compact,\n minified: opts.minified,\n concise: opts.concise,\n indent: {\n adjustMultilineComment: true,\n style: \" \",\n },\n jsescOption: {\n quotes: \"double\",\n wrap: true,\n minimal: process.env.BABEL_8_BREAKING ? true : false,\n ...opts.jsescOption,\n },\n recordAndTupleSyntaxType: opts.recordAndTupleSyntaxType,\n topicToken: opts.topicToken,\n };\n\n if (!process.env.BABEL_8_BREAKING) {\n format.decoratorsBeforeExport = opts.decoratorsBeforeExport;\n format.jsescOption.json = opts.jsonCompatibleStrings;\n }\n\n if (format.minified) {\n format.compact = true;\n\n format.shouldPrintComment =\n format.shouldPrintComment || (() => format.comments);\n } else {\n format.shouldPrintComment =\n format.shouldPrintComment ||\n (value =>\n format.comments ||\n value.includes(\"@license\") ||\n value.includes(\"@preserve\"));\n }\n\n if (format.compact === \"auto\") {\n format.compact = typeof code === \"string\" && code.length > 500_000; // 500KB\n\n if (format.compact) {\n console.error(\n \"[BABEL] Note: The code generator has deoptimised the styling of \" +\n `${opts.filename} as it exceeds the max of ${\"500KB\"}.`,\n );\n }\n }\n\n if (format.compact) {\n format.indent.adjustMultilineComment = false;\n }\n\n const { auxiliaryCommentBefore, auxiliaryCommentAfter, shouldPrintComment } =\n format;\n\n if (auxiliaryCommentBefore && !shouldPrintComment(auxiliaryCommentBefore)) {\n format.auxiliaryCommentBefore = undefined;\n }\n if (auxiliaryCommentAfter && !shouldPrintComment(auxiliaryCommentAfter)) {\n format.auxiliaryCommentAfter = undefined;\n }\n\n return format;\n}\n\nexport interface GeneratorOptions {\n /**\n * Optional string to add as a block comment at the start of the output file.\n */\n auxiliaryCommentBefore?: string;\n\n /**\n * Optional string to add as a block comment at the end of the output file.\n */\n auxiliaryCommentAfter?: string;\n\n /**\n * Function that takes a comment (as a string) and returns true if the comment should be included in the output.\n * By default, comments are included if `opts.comments` is `true` or if `opts.minified` is `false` and the comment\n * contains `@preserve` or `@license`.\n */\n shouldPrintComment?(comment: string): boolean;\n\n /**\n * Attempt to use the same line numbers in the output code as in the source code (helps preserve stack traces).\n * Defaults to `false`.\n */\n retainLines?: boolean;\n\n /**\n * Retain parens around function expressions (could be used to change engine parsing behavior)\n * Defaults to `false`.\n */\n retainFunctionParens?: boolean;\n\n /**\n * Should comments be included in output? Defaults to `true`.\n */\n comments?: boolean;\n\n /**\n * Set to true to avoid adding whitespace for formatting. Defaults to the value of `opts.minified`.\n */\n compact?: boolean | \"auto\";\n\n /**\n * Should the output be minified. Defaults to `false`.\n */\n minified?: boolean;\n\n /**\n * Set to true to reduce whitespace (but not as much as opts.compact). Defaults to `false`.\n */\n concise?: boolean;\n\n /**\n * Used in warning messages\n */\n filename?: string;\n\n /**\n * Enable generating source maps. Defaults to `false`.\n */\n sourceMaps?: boolean;\n\n inputSourceMap?: any;\n\n /**\n * A root for all relative URLs in the source map.\n */\n sourceRoot?: string;\n\n /**\n * The filename for the source code (i.e. the code in the `code` argument).\n * This will only be used if `code` is a string.\n */\n sourceFileName?: string;\n\n /**\n * Set to true to run jsesc with \"json\": true to print \"\\u00A9\" vs. \"©\";\n * @deprecated use `jsescOptions: { json: true }` instead\n */\n jsonCompatibleStrings?: boolean;\n\n /**\n * Set to true to enable support for experimental decorators syntax before\n * module exports. If not specified, decorators will be printed in the same\n * position as they were in the input source code.\n * @deprecated Removed in Babel 8\n */\n decoratorsBeforeExport?: boolean;\n\n /**\n * Options for outputting jsesc representation.\n */\n jsescOption?: jsescOptions;\n\n /**\n * For use with the recordAndTuple token.\n */\n recordAndTupleSyntaxType?: RecordAndTuplePluginOptions[\"syntaxType\"];\n /**\n * For use with the Hack-style pipe operator.\n * Changes what token is used for pipe bodies’ topic references.\n */\n topicToken?: PipelineOperatorPluginOptions[\"topicToken\"];\n}\n\nexport interface GeneratorResult {\n code: string;\n map: {\n version: number;\n sources: readonly string[];\n names: readonly string[];\n sourceRoot?: string;\n sourcesContent?: readonly string[];\n mappings: string;\n file?: string;\n } | null;\n decodedMap: DecodedSourceMap | undefined;\n rawMappings: Mapping[] | undefined;\n}\n\n/**\n * We originally exported the Generator class above, but to make it extra clear that it is a private API,\n * we have moved that to an internal class instance and simplified the interface to the two public methods\n * that we wish to support.\n */\n\nexport class CodeGenerator {\n private _generator: Generator;\n constructor(ast: t.Node, opts?: GeneratorOptions, code?: string) {\n this._generator = new Generator(ast, opts, code);\n }\n generate(): GeneratorResult {\n return this._generator.generate();\n }\n}\n\n/**\n * Turns an AST into code, maintaining sourcemaps, user preferences, and valid output.\n * @param ast - the abstract syntax tree from which to generate output code.\n * @param opts - used for specifying options for code generation.\n * @param code - the original source code, used for source maps.\n * @returns - an object containing the output code and source map.\n */\nexport default function generate(\n ast: t.Node,\n opts?: GeneratorOptions,\n code?: string | { [filename: string]: string },\n) {\n const gen = new Generator(ast, opts, code);\n return gen.generate();\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_sourceMap","require","_printer","Generator","Printer","constructor","ast","opts","code","format","normalizeOptions","map","sourceMaps","SourceMap","generate","auxiliaryCommentBefore","auxiliaryCommentAfter","shouldPrintComment","retainLines","retainFunctionParens","comments","compact","minified","concise","indent","adjustMultilineComment","style","jsescOption","Object","assign","quotes","wrap","minimal","recordAndTupleSyntaxType","topicToken","importAttributesKeyword","decoratorsBeforeExport","json","jsonCompatibleStrings","value","includes","length","console","error","filename","undefined","CodeGenerator","_generator","exports","gen"],"sources":["../src/index.ts"],"sourcesContent":["import SourceMap from \"./source-map\";\nimport Printer from \"./printer\";\nimport type * as t from \"@babel/types\";\nimport type { Opts as jsescOptions } from \"jsesc\";\nimport type { Format } from \"./printer\";\nimport type {\n RecordAndTuplePluginOptions,\n PipelineOperatorPluginOptions,\n} from \"@babel/parser\";\nimport type { DecodedSourceMap, Mapping } from \"@jridgewell/gen-mapping\";\n\n/**\n * Babel's code generator, turns an ast into code, maintaining sourcemaps,\n * user preferences, and valid output.\n */\n\nclass Generator extends Printer {\n constructor(\n ast: t.Node,\n opts: GeneratorOptions = {},\n code: string | { [filename: string]: string },\n ) {\n const format = normalizeOptions(code, opts);\n const map = opts.sourceMaps ? new SourceMap(opts, code) : null;\n super(format, map);\n\n this.ast = ast;\n }\n\n ast: t.Node;\n\n /**\n * Generate code and sourcemap from ast.\n *\n * Appends comments that weren't attached to any node to the end of the generated output.\n */\n\n generate() {\n return super.generate(this.ast);\n }\n}\n\n/**\n * Normalize generator options, setting defaults.\n *\n * - Detects code indentation.\n * - If `opts.compact = \"auto\"` and the code is over 500KB, `compact` will be set to `true`.\n */\n\nfunction normalizeOptions(\n code: string | { [filename: string]: string },\n opts: GeneratorOptions,\n): Format {\n const format: Format = {\n auxiliaryCommentBefore: opts.auxiliaryCommentBefore,\n auxiliaryCommentAfter: opts.auxiliaryCommentAfter,\n shouldPrintComment: opts.shouldPrintComment,\n retainLines: opts.retainLines,\n retainFunctionParens: opts.retainFunctionParens,\n comments: opts.comments == null || opts.comments,\n compact: opts.compact,\n minified: opts.minified,\n concise: opts.concise,\n indent: {\n adjustMultilineComment: true,\n style: \" \",\n },\n jsescOption: {\n quotes: \"double\",\n wrap: true,\n minimal: process.env.BABEL_8_BREAKING ? true : false,\n ...opts.jsescOption,\n },\n recordAndTupleSyntaxType: opts.recordAndTupleSyntaxType,\n topicToken: opts.topicToken,\n importAttributesKeyword: opts.importAttributesKeyword,\n };\n\n if (!process.env.BABEL_8_BREAKING) {\n format.decoratorsBeforeExport = opts.decoratorsBeforeExport;\n format.jsescOption.json = opts.jsonCompatibleStrings;\n }\n\n if (format.minified) {\n format.compact = true;\n\n format.shouldPrintComment =\n format.shouldPrintComment || (() => format.comments);\n } else {\n format.shouldPrintComment =\n format.shouldPrintComment ||\n (value =>\n format.comments ||\n value.includes(\"@license\") ||\n value.includes(\"@preserve\"));\n }\n\n if (format.compact === \"auto\") {\n format.compact = typeof code === \"string\" && code.length > 500_000; // 500KB\n\n if (format.compact) {\n console.error(\n \"[BABEL] Note: The code generator has deoptimised the styling of \" +\n `${opts.filename} as it exceeds the max of ${\"500KB\"}.`,\n );\n }\n }\n\n if (format.compact) {\n format.indent.adjustMultilineComment = false;\n }\n\n const { auxiliaryCommentBefore, auxiliaryCommentAfter, shouldPrintComment } =\n format;\n\n if (auxiliaryCommentBefore && !shouldPrintComment(auxiliaryCommentBefore)) {\n format.auxiliaryCommentBefore = undefined;\n }\n if (auxiliaryCommentAfter && !shouldPrintComment(auxiliaryCommentAfter)) {\n format.auxiliaryCommentAfter = undefined;\n }\n\n return format;\n}\n\nexport interface GeneratorOptions {\n /**\n * Optional string to add as a block comment at the start of the output file.\n */\n auxiliaryCommentBefore?: string;\n\n /**\n * Optional string to add as a block comment at the end of the output file.\n */\n auxiliaryCommentAfter?: string;\n\n /**\n * Function that takes a comment (as a string) and returns true if the comment should be included in the output.\n * By default, comments are included if `opts.comments` is `true` or if `opts.minified` is `false` and the comment\n * contains `@preserve` or `@license`.\n */\n shouldPrintComment?(comment: string): boolean;\n\n /**\n * Attempt to use the same line numbers in the output code as in the source code (helps preserve stack traces).\n * Defaults to `false`.\n */\n retainLines?: boolean;\n\n /**\n * Retain parens around function expressions (could be used to change engine parsing behavior)\n * Defaults to `false`.\n */\n retainFunctionParens?: boolean;\n\n /**\n * Should comments be included in output? Defaults to `true`.\n */\n comments?: boolean;\n\n /**\n * Set to true to avoid adding whitespace for formatting. Defaults to the value of `opts.minified`.\n */\n compact?: boolean | \"auto\";\n\n /**\n * Should the output be minified. Defaults to `false`.\n */\n minified?: boolean;\n\n /**\n * Set to true to reduce whitespace (but not as much as opts.compact). Defaults to `false`.\n */\n concise?: boolean;\n\n /**\n * Used in warning messages\n */\n filename?: string;\n\n /**\n * Enable generating source maps. Defaults to `false`.\n */\n sourceMaps?: boolean;\n\n inputSourceMap?: any;\n\n /**\n * A root for all relative URLs in the source map.\n */\n sourceRoot?: string;\n\n /**\n * The filename for the source code (i.e. the code in the `code` argument).\n * This will only be used if `code` is a string.\n */\n sourceFileName?: string;\n\n /**\n * Set to true to run jsesc with \"json\": true to print \"\\u00A9\" vs. \"©\";\n * @deprecated use `jsescOptions: { json: true }` instead\n */\n jsonCompatibleStrings?: boolean;\n\n /**\n * Set to true to enable support for experimental decorators syntax before\n * module exports. If not specified, decorators will be printed in the same\n * position as they were in the input source code.\n * @deprecated Removed in Babel 8\n */\n decoratorsBeforeExport?: boolean;\n\n /**\n * Options for outputting jsesc representation.\n */\n jsescOption?: jsescOptions;\n\n /**\n * For use with the recordAndTuple token.\n */\n recordAndTupleSyntaxType?: RecordAndTuplePluginOptions[\"syntaxType\"];\n\n /**\n * For use with the Hack-style pipe operator.\n * Changes what token is used for pipe bodies’ topic references.\n */\n topicToken?: PipelineOperatorPluginOptions[\"topicToken\"];\n\n /**\n * The import attributes syntax style:\n * - \"with\" : `import { a } from \"b\" with { type: \"json\" };`\n * - \"assert\" : `import { a } from \"b\" assert { type: \"json\" };`\n * - \"with-legacy\" : `import { a } from \"b\" with type: \"json\";`\n */\n importAttributesKeyword?: \"with\" | \"assert\" | \"with-legacy\";\n}\n\nexport interface GeneratorResult {\n code: string;\n map: {\n version: number;\n sources: readonly string[];\n names: readonly string[];\n sourceRoot?: string;\n sourcesContent?: readonly string[];\n mappings: string;\n file?: string;\n } | null;\n decodedMap: DecodedSourceMap | undefined;\n rawMappings: Mapping[] | undefined;\n}\n\n/**\n * We originally exported the Generator class above, but to make it extra clear that it is a private API,\n * we have moved that to an internal class instance and simplified the interface to the two public methods\n * that we wish to support.\n */\n\nexport class CodeGenerator {\n private _generator: Generator;\n constructor(ast: t.Node, opts?: GeneratorOptions, code?: string) {\n this._generator = new Generator(ast, opts, code);\n }\n generate(): GeneratorResult {\n return this._generator.generate();\n }\n}\n\n/**\n * Turns an AST into code, maintaining sourcemaps, user preferences, and valid output.\n * @param ast - the abstract syntax tree from which to generate output code.\n * @param opts - used for specifying options for code generation.\n * @param code - the original source code, used for source maps.\n * @returns - an object containing the output code and source map.\n */\nexport default function generate(\n ast: t.Node,\n opts?: GeneratorOptions,\n code?: string | { [filename: string]: string },\n) {\n const gen = new Generator(ast, opts, code);\n return gen.generate();\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/node/parentheses.js.map b/node_modules/@babel/generator/lib/node/parentheses.js.map index 92cc7788e..b300fc570 100644 --- a/node_modules/@babel/generator/lib/node/parentheses.js.map +++ b/node_modules/@babel/generator/lib/node/parentheses.js.map @@ -1 +1 @@ -{"version":3,"names":["_t","require","isArrayTypeAnnotation","isArrowFunctionExpression","isAssignmentExpression","isAwaitExpression","isBinary","isBinaryExpression","isUpdateExpression","isCallExpression","isClass","isClassExpression","isConditional","isConditionalExpression","isExportDeclaration","isExportDefaultDeclaration","isExpressionStatement","isFor","isForInStatement","isForOfStatement","isForStatement","isFunctionExpression","isIfStatement","isIndexedAccessType","isIntersectionTypeAnnotation","isLogicalExpression","isMemberExpression","isNewExpression","isNullableTypeAnnotation","isObjectPattern","isOptionalCallExpression","isOptionalMemberExpression","isReturnStatement","isSequenceExpression","isSwitchStatement","isTSArrayType","isTSAsExpression","isTSInstantiationExpression","isTSIntersectionType","isTSNonNullExpression","isTSOptionalType","isTSRestType","isTSTypeAssertion","isTSUnionType","isTaggedTemplateExpression","isThrowStatement","isTypeAnnotation","isUnaryLike","isUnionTypeAnnotation","isVariableDeclarator","isWhileStatement","isYieldExpression","isTSSatisfiesExpression","PRECEDENCE","in","instanceof","isTSTypeExpression","node","isClassExtendsClause","parent","superClass","hasPostfixPart","object","callee","tag","NullableTypeAnnotation","FunctionTypeAnnotation","printStack","length","UpdateExpression","ObjectExpression","isFirstInContext","DoExpression","async","Binary","operator","left","parentOp","parentPos","nodeOp","nodePos","right","UnionTypeAnnotation","OptionalIndexedAccessType","objectType","TSAsExpression","TSUnionType","TSInferType","TSInstantiationExpression","typeParameters","BinaryExpression","SequenceExpression","test","discriminant","expression","YieldExpression","ClassExpression","UnaryLike","FunctionExpression","ArrowFunctionExpression","ConditionalExpression","OptionalMemberExpression","AssignmentExpression","LogicalExpression","Identifier","_node$extra","extra","parenthesized","id","name","isFollowedByBracket","computed","optional","checkParam","expressionStatement","arrowBody","exportDefault","forHead","forInHead","forOfHead","i","declaration","body","init","expressions","prefix"],"sources":["../../src/node/parentheses.ts"],"sourcesContent":["import {\n isArrayTypeAnnotation,\n isArrowFunctionExpression,\n isAssignmentExpression,\n isAwaitExpression,\n isBinary,\n isBinaryExpression,\n isUpdateExpression,\n isCallExpression,\n isClass,\n isClassExpression,\n isConditional,\n isConditionalExpression,\n isExportDeclaration,\n isExportDefaultDeclaration,\n isExpressionStatement,\n isFor,\n isForInStatement,\n isForOfStatement,\n isForStatement,\n isFunctionExpression,\n isIfStatement,\n isIndexedAccessType,\n isIntersectionTypeAnnotation,\n isLogicalExpression,\n isMemberExpression,\n isNewExpression,\n isNullableTypeAnnotation,\n isObjectPattern,\n isOptionalCallExpression,\n isOptionalMemberExpression,\n isReturnStatement,\n isSequenceExpression,\n isSwitchStatement,\n isTSArrayType,\n isTSAsExpression,\n isTSInstantiationExpression,\n isTSIntersectionType,\n isTSNonNullExpression,\n isTSOptionalType,\n isTSRestType,\n isTSTypeAssertion,\n isTSUnionType,\n isTaggedTemplateExpression,\n isThrowStatement,\n isTypeAnnotation,\n isUnaryLike,\n isUnionTypeAnnotation,\n isVariableDeclarator,\n isWhileStatement,\n isYieldExpression,\n isTSSatisfiesExpression,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nconst PRECEDENCE = {\n \"||\": 0,\n \"??\": 0,\n \"|>\": 0,\n \"&&\": 1,\n \"|\": 2,\n \"^\": 3,\n \"&\": 4,\n \"==\": 5,\n \"===\": 5,\n \"!=\": 5,\n \"!==\": 5,\n \"<\": 6,\n \">\": 6,\n \"<=\": 6,\n \">=\": 6,\n in: 6,\n instanceof: 6,\n \">>\": 7,\n \"<<\": 7,\n \">>>\": 7,\n \"+\": 8,\n \"-\": 8,\n \"*\": 9,\n \"/\": 9,\n \"%\": 9,\n \"**\": 10,\n};\n\nconst enum CheckParam {\n expressionStatement = 1 << 0,\n arrowBody = 1 << 1,\n exportDefault = 1 << 2,\n forHead = 1 << 3,\n forInHead = 1 << 4,\n forOfHead = 1 << 5,\n}\n\nfunction isTSTypeExpression(node: t.Node) {\n return (\n isTSAsExpression(node) ||\n isTSSatisfiesExpression(node) ||\n isTSTypeAssertion(node)\n );\n}\n\nconst isClassExtendsClause = (\n node: t.Node,\n parent: t.Node,\n): parent is t.Class => isClass(parent, { superClass: node });\n\nconst hasPostfixPart = (node: t.Node, parent: t.Node) =>\n ((isMemberExpression(parent) || isOptionalMemberExpression(parent)) &&\n parent.object === node) ||\n ((isCallExpression(parent) ||\n isOptionalCallExpression(parent) ||\n isNewExpression(parent)) &&\n parent.callee === node) ||\n (isTaggedTemplateExpression(parent) && parent.tag === node) ||\n isTSNonNullExpression(parent);\n\nexport function NullableTypeAnnotation(\n node: t.NullableTypeAnnotation,\n parent: t.Node,\n): boolean {\n return isArrayTypeAnnotation(parent);\n}\n\nexport function FunctionTypeAnnotation(\n node: t.FunctionTypeAnnotation,\n parent: t.Node,\n printStack: Array,\n): boolean {\n if (printStack.length < 3) return;\n\n return (\n // (() => A) | (() => B)\n isUnionTypeAnnotation(parent) ||\n // (() => A) & (() => B)\n isIntersectionTypeAnnotation(parent) ||\n // (() => A)[]\n isArrayTypeAnnotation(parent) ||\n // (A: T): (T => T[]) => B => [A, B]\n (isTypeAnnotation(parent) &&\n // Check grandparent\n isArrowFunctionExpression(printStack[printStack.length - 3]))\n );\n}\n\nexport function UpdateExpression(\n node: t.UpdateExpression,\n parent: t.Node,\n): boolean {\n return hasPostfixPart(node, parent) || isClassExtendsClause(node, parent);\n}\n\nexport function ObjectExpression(\n node: t.ObjectExpression,\n parent: t.Node,\n printStack: Array,\n): boolean {\n return isFirstInContext(\n printStack,\n CheckParam.expressionStatement | CheckParam.arrowBody,\n );\n}\n\nexport function DoExpression(\n node: t.DoExpression,\n parent: t.Node,\n printStack: Array,\n): boolean {\n // `async do` can start an expression statement\n return (\n !node.async && isFirstInContext(printStack, CheckParam.expressionStatement)\n );\n}\n\nexport function Binary(node: t.BinaryExpression, parent: t.Node): boolean {\n if (\n node.operator === \"**\" &&\n isBinaryExpression(parent, { operator: \"**\" })\n ) {\n return parent.left === node;\n }\n\n if (isClassExtendsClause(node, parent)) {\n return true;\n }\n\n if (\n hasPostfixPart(node, parent) ||\n isUnaryLike(parent) ||\n isAwaitExpression(parent)\n ) {\n return true;\n }\n\n if (isBinary(parent)) {\n const parentOp = parent.operator;\n const parentPos = PRECEDENCE[parentOp];\n\n const nodeOp = node.operator;\n const nodePos = PRECEDENCE[nodeOp];\n\n if (\n // Logical expressions with the same precedence don't need parens.\n (parentPos === nodePos &&\n parent.right === node &&\n !isLogicalExpression(parent)) ||\n parentPos > nodePos\n ) {\n return true;\n }\n }\n}\n\nexport function UnionTypeAnnotation(\n node: t.UnionTypeAnnotation,\n parent: t.Node,\n): boolean {\n return (\n isArrayTypeAnnotation(parent) ||\n isNullableTypeAnnotation(parent) ||\n isIntersectionTypeAnnotation(parent) ||\n isUnionTypeAnnotation(parent)\n );\n}\n\nexport { UnionTypeAnnotation as IntersectionTypeAnnotation };\n\nexport function OptionalIndexedAccessType(\n node: t.OptionalIndexedAccessType,\n parent: t.Node,\n): boolean {\n return isIndexedAccessType(parent, { objectType: node });\n}\n\nexport function TSAsExpression() {\n return true;\n}\n\nexport {\n TSAsExpression as TSSatisfiesExpression,\n TSAsExpression as TSTypeAssertion,\n};\n\nexport function TSUnionType(node: t.TSUnionType, parent: t.Node): boolean {\n return (\n isTSArrayType(parent) ||\n isTSOptionalType(parent) ||\n isTSIntersectionType(parent) ||\n isTSUnionType(parent) ||\n isTSRestType(parent)\n );\n}\n\nexport { TSUnionType as TSIntersectionType };\n\nexport function TSInferType(node: t.TSInferType, parent: t.Node): boolean {\n return isTSArrayType(parent) || isTSOptionalType(parent);\n}\n\nexport function TSInstantiationExpression(\n node: t.TSInstantiationExpression,\n parent: t.Node,\n) {\n return (\n (isCallExpression(parent) ||\n isOptionalCallExpression(parent) ||\n isNewExpression(parent) ||\n isTSInstantiationExpression(parent)) &&\n !!parent.typeParameters\n );\n}\n\nexport function BinaryExpression(\n node: t.BinaryExpression,\n parent: t.Node,\n): boolean {\n // let i = (1 in []);\n // for ((1 in []);;);\n return (\n node.operator === \"in\" && (isVariableDeclarator(parent) || isFor(parent))\n );\n}\n\nexport function SequenceExpression(\n node: t.SequenceExpression,\n parent: t.Node,\n): boolean {\n if (\n // Although parentheses wouldn't hurt around sequence\n // expressions in the head of for loops, traditional style\n // dictates that e.g. i++, j++ should not be wrapped with\n // parentheses.\n isForStatement(parent) ||\n isThrowStatement(parent) ||\n isReturnStatement(parent) ||\n (isIfStatement(parent) && parent.test === node) ||\n (isWhileStatement(parent) && parent.test === node) ||\n (isForInStatement(parent) && parent.right === node) ||\n (isSwitchStatement(parent) && parent.discriminant === node) ||\n (isExpressionStatement(parent) && parent.expression === node)\n ) {\n return false;\n }\n\n // Otherwise err on the side of overparenthesization, adding\n // explicit exceptions above if this proves overzealous.\n return true;\n}\n\nexport function YieldExpression(\n node: t.YieldExpression,\n parent: t.Node,\n): boolean {\n return (\n isBinary(parent) ||\n isUnaryLike(parent) ||\n hasPostfixPart(node, parent) ||\n (isAwaitExpression(parent) && isYieldExpression(node)) ||\n (isConditionalExpression(parent) && node === parent.test) ||\n isClassExtendsClause(node, parent)\n );\n}\n\nexport { YieldExpression as AwaitExpression };\n\nexport function ClassExpression(\n node: t.ClassExpression,\n parent: t.Node,\n printStack: Array,\n): boolean {\n return isFirstInContext(\n printStack,\n CheckParam.expressionStatement | CheckParam.exportDefault,\n );\n}\n\nexport function UnaryLike(\n node:\n | t.UnaryLike\n | t.ArrowFunctionExpression\n | t.ConditionalExpression\n | t.AssignmentExpression,\n parent: t.Node,\n): boolean {\n return (\n hasPostfixPart(node, parent) ||\n isBinaryExpression(parent, { operator: \"**\", left: node }) ||\n isClassExtendsClause(node, parent)\n );\n}\n\nexport function FunctionExpression(\n node: t.FunctionExpression,\n parent: t.Node,\n printStack: Array,\n): boolean {\n return isFirstInContext(\n printStack,\n CheckParam.expressionStatement | CheckParam.exportDefault,\n );\n}\n\nexport function ArrowFunctionExpression(\n node: t.ArrowFunctionExpression,\n parent: t.Node,\n): boolean {\n return isExportDeclaration(parent) || ConditionalExpression(node, parent);\n}\n\nexport function ConditionalExpression(\n node:\n | t.ConditionalExpression\n | t.ArrowFunctionExpression\n | t.AssignmentExpression,\n parent?: t.Node,\n): boolean {\n if (\n isUnaryLike(parent) ||\n isBinary(parent) ||\n isConditionalExpression(parent, { test: node }) ||\n isAwaitExpression(parent) ||\n isTSTypeExpression(parent)\n ) {\n return true;\n }\n\n return UnaryLike(node, parent);\n}\n\nexport function OptionalMemberExpression(\n node: t.OptionalMemberExpression,\n parent: t.Node,\n): boolean {\n return (\n isCallExpression(parent, { callee: node }) ||\n isMemberExpression(parent, { object: node })\n );\n}\n\nexport { OptionalMemberExpression as OptionalCallExpression };\n\nexport function AssignmentExpression(\n node: t.AssignmentExpression,\n parent: t.Node,\n): boolean {\n if (isObjectPattern(node.left)) {\n return true;\n } else {\n return ConditionalExpression(node, parent);\n }\n}\n\nexport function LogicalExpression(\n node: t.LogicalExpression,\n parent: t.Node,\n): boolean {\n if (isTSTypeExpression(parent)) return true;\n switch (node.operator) {\n case \"||\":\n if (!isLogicalExpression(parent)) return false;\n return parent.operator === \"??\" || parent.operator === \"&&\";\n case \"&&\":\n return isLogicalExpression(parent, { operator: \"??\" });\n case \"??\":\n return isLogicalExpression(parent) && parent.operator !== \"??\";\n }\n}\n\nexport function Identifier(\n node: t.Identifier,\n parent: t.Node,\n printStack: Array,\n): boolean {\n // 13.15.2 AssignmentExpression RS: Evaluation\n // (fn) = function () {};\n if (\n node.extra?.parenthesized &&\n isAssignmentExpression(parent, { left: node }) &&\n (isFunctionExpression(parent.right) || isClassExpression(parent.right)) &&\n parent.right.id == null\n ) {\n return true;\n }\n // Non-strict code allows the identifier `let`, but it cannot occur as-is in\n // certain contexts to avoid ambiguity with contextual keyword `let`.\n if (node.name === \"let\") {\n // Some contexts only forbid `let [`, so check if the next token would\n // be the left bracket of a computed member expression.\n const isFollowedByBracket =\n isMemberExpression(parent, {\n object: node,\n computed: true,\n }) ||\n isOptionalMemberExpression(parent, {\n object: node,\n computed: true,\n optional: false,\n });\n return isFirstInContext(\n printStack,\n isFollowedByBracket\n ? CheckParam.expressionStatement |\n CheckParam.forHead |\n CheckParam.forInHead |\n CheckParam.forOfHead\n : CheckParam.forOfHead,\n );\n }\n\n // ECMAScript specifically forbids a for-of loop from starting with the\n // token sequence `for (async of`, because it would be ambiguous with\n // `for (async of => {};;)`, so we need to add extra parentheses.\n //\n // If the parent is a for-await-of loop (i.e. parent.await === true), the\n // parentheses aren't strictly needed, but we add them anyway because\n // some tools (including earlier Babel versions) can't parse\n // `for await (async of [])` without them.\n return (\n node.name === \"async\" && isForOfStatement(parent) && node === parent.left\n );\n}\n\n// Walk up the print stack to determine if our node can come first\n// in a particular context.\nfunction isFirstInContext(\n printStack: Array,\n checkParam: CheckParam,\n): boolean {\n const expressionStatement = checkParam & CheckParam.expressionStatement;\n const arrowBody = checkParam & CheckParam.arrowBody;\n const exportDefault = checkParam & CheckParam.exportDefault;\n const forHead = checkParam & CheckParam.forHead;\n const forInHead = checkParam & CheckParam.forInHead;\n const forOfHead = checkParam & CheckParam.forOfHead;\n\n let i = printStack.length - 1;\n if (i <= 0) return;\n let node = printStack[i];\n i--;\n let parent = printStack[i];\n while (i >= 0) {\n if (\n (expressionStatement &&\n isExpressionStatement(parent, { expression: node })) ||\n (exportDefault &&\n isExportDefaultDeclaration(parent, { declaration: node })) ||\n (arrowBody && isArrowFunctionExpression(parent, { body: node })) ||\n (forHead && isForStatement(parent, { init: node })) ||\n (forInHead && isForInStatement(parent, { left: node })) ||\n (forOfHead && isForOfStatement(parent, { left: node }))\n ) {\n return true;\n }\n\n if (\n i > 0 &&\n ((hasPostfixPart(node, parent) && !isNewExpression(parent)) ||\n (isSequenceExpression(parent) && parent.expressions[0] === node) ||\n (isUpdateExpression(parent) && !parent.prefix) ||\n isConditional(parent, { test: node }) ||\n isBinary(parent, { left: node }) ||\n isAssignmentExpression(parent, { left: node }))\n ) {\n node = parent;\n i--;\n parent = printStack[i];\n } else {\n return false;\n }\n }\n\n return false;\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_t","require","isArrayTypeAnnotation","isArrowFunctionExpression","isAssignmentExpression","isAwaitExpression","isBinary","isBinaryExpression","isUpdateExpression","isCallExpression","isClass","isClassExpression","isConditional","isConditionalExpression","isExportDeclaration","isExportDefaultDeclaration","isExpressionStatement","isFor","isForInStatement","isForOfStatement","isForStatement","isFunctionExpression","isIfStatement","isIndexedAccessType","isIntersectionTypeAnnotation","isLogicalExpression","isMemberExpression","isNewExpression","isNullableTypeAnnotation","isObjectPattern","isOptionalCallExpression","isOptionalMemberExpression","isReturnStatement","isSequenceExpression","isSwitchStatement","isTSArrayType","isTSAsExpression","isTSInstantiationExpression","isTSIntersectionType","isTSNonNullExpression","isTSOptionalType","isTSRestType","isTSTypeAssertion","isTSUnionType","isTaggedTemplateExpression","isThrowStatement","isTypeAnnotation","isUnaryLike","isUnionTypeAnnotation","isVariableDeclarator","isWhileStatement","isYieldExpression","isTSSatisfiesExpression","PRECEDENCE","in","instanceof","isTSTypeExpression","node","isClassExtendsClause","parent","superClass","hasPostfixPart","object","callee","tag","NullableTypeAnnotation","FunctionTypeAnnotation","printStack","length","UpdateExpression","ObjectExpression","isFirstInContext","DoExpression","async","Binary","operator","left","parentOp","parentPos","nodeOp","nodePos","right","UnionTypeAnnotation","OptionalIndexedAccessType","objectType","TSAsExpression","TSUnionType","TSInferType","TSInstantiationExpression","typeParameters","BinaryExpression","SequenceExpression","test","discriminant","expression","YieldExpression","ClassExpression","UnaryLike","FunctionExpression","ArrowFunctionExpression","ConditionalExpression","OptionalMemberExpression","AssignmentExpression","LogicalExpression","Identifier","_node$extra","extra","parenthesized","id","name","isFollowedByBracket","computed","optional","checkParam","expressionStatement","arrowBody","exportDefault","forHead","forInHead","forOfHead","i","declaration","body","init","expressions","prefix"],"sources":["../../src/node/parentheses.ts"],"sourcesContent":["import {\n isArrayTypeAnnotation,\n isArrowFunctionExpression,\n isAssignmentExpression,\n isAwaitExpression,\n isBinary,\n isBinaryExpression,\n isUpdateExpression,\n isCallExpression,\n isClass,\n isClassExpression,\n isConditional,\n isConditionalExpression,\n isExportDeclaration,\n isExportDefaultDeclaration,\n isExpressionStatement,\n isFor,\n isForInStatement,\n isForOfStatement,\n isForStatement,\n isFunctionExpression,\n isIfStatement,\n isIndexedAccessType,\n isIntersectionTypeAnnotation,\n isLogicalExpression,\n isMemberExpression,\n isNewExpression,\n isNullableTypeAnnotation,\n isObjectPattern,\n isOptionalCallExpression,\n isOptionalMemberExpression,\n isReturnStatement,\n isSequenceExpression,\n isSwitchStatement,\n isTSArrayType,\n isTSAsExpression,\n isTSInstantiationExpression,\n isTSIntersectionType,\n isTSNonNullExpression,\n isTSOptionalType,\n isTSRestType,\n isTSTypeAssertion,\n isTSUnionType,\n isTaggedTemplateExpression,\n isThrowStatement,\n isTypeAnnotation,\n isUnaryLike,\n isUnionTypeAnnotation,\n isVariableDeclarator,\n isWhileStatement,\n isYieldExpression,\n isTSSatisfiesExpression,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nconst PRECEDENCE = {\n \"||\": 0,\n \"??\": 0,\n \"|>\": 0,\n \"&&\": 1,\n \"|\": 2,\n \"^\": 3,\n \"&\": 4,\n \"==\": 5,\n \"===\": 5,\n \"!=\": 5,\n \"!==\": 5,\n \"<\": 6,\n \">\": 6,\n \"<=\": 6,\n \">=\": 6,\n in: 6,\n instanceof: 6,\n \">>\": 7,\n \"<<\": 7,\n \">>>\": 7,\n \"+\": 8,\n \"-\": 8,\n \"*\": 9,\n \"/\": 9,\n \"%\": 9,\n \"**\": 10,\n};\n\nconst enum CheckParam {\n expressionStatement = 1 << 0,\n arrowBody = 1 << 1,\n exportDefault = 1 << 2,\n forHead = 1 << 3,\n forInHead = 1 << 4,\n forOfHead = 1 << 5,\n}\n\nfunction isTSTypeExpression(node: t.Node) {\n return (\n isTSAsExpression(node) ||\n isTSSatisfiesExpression(node) ||\n isTSTypeAssertion(node)\n );\n}\n\nconst isClassExtendsClause = (\n node: t.Node,\n parent: t.Node,\n): parent is t.Class => isClass(parent, { superClass: node });\n\nconst hasPostfixPart = (node: t.Node, parent: t.Node) =>\n ((isMemberExpression(parent) || isOptionalMemberExpression(parent)) &&\n parent.object === node) ||\n ((isCallExpression(parent) ||\n isOptionalCallExpression(parent) ||\n isNewExpression(parent)) &&\n parent.callee === node) ||\n (isTaggedTemplateExpression(parent) && parent.tag === node) ||\n isTSNonNullExpression(parent);\n\nexport function NullableTypeAnnotation(\n node: t.NullableTypeAnnotation,\n parent: t.Node,\n): boolean {\n return isArrayTypeAnnotation(parent);\n}\n\nexport function FunctionTypeAnnotation(\n node: t.FunctionTypeAnnotation,\n parent: t.Node,\n printStack: Array,\n): boolean {\n if (printStack.length < 3) return;\n\n return (\n // (() => A) | (() => B)\n isUnionTypeAnnotation(parent) ||\n // (() => A) & (() => B)\n isIntersectionTypeAnnotation(parent) ||\n // (() => A)[]\n isArrayTypeAnnotation(parent) ||\n // (A: T): (T => T[]) => B => [A, B]\n (isTypeAnnotation(parent) &&\n // Check grandparent\n isArrowFunctionExpression(printStack[printStack.length - 3]))\n );\n}\n\nexport function UpdateExpression(\n node: t.UpdateExpression,\n parent: t.Node,\n): boolean {\n return hasPostfixPart(node, parent) || isClassExtendsClause(node, parent);\n}\n\nexport function ObjectExpression(\n node: t.ObjectExpression,\n parent: t.Node,\n printStack: Array,\n): boolean {\n return isFirstInContext(\n printStack,\n CheckParam.expressionStatement | CheckParam.arrowBody,\n );\n}\n\nexport function DoExpression(\n node: t.DoExpression,\n parent: t.Node,\n printStack: Array,\n): boolean {\n // `async do` can start an expression statement\n return (\n !node.async && isFirstInContext(printStack, CheckParam.expressionStatement)\n );\n}\n\nexport function Binary(node: t.BinaryExpression, parent: t.Node): boolean {\n if (\n node.operator === \"**\" &&\n isBinaryExpression(parent, { operator: \"**\" })\n ) {\n return parent.left === node;\n }\n\n if (isClassExtendsClause(node, parent)) {\n return true;\n }\n\n if (\n hasPostfixPart(node, parent) ||\n isUnaryLike(parent) ||\n isAwaitExpression(parent)\n ) {\n return true;\n }\n\n if (isBinary(parent)) {\n const parentOp = parent.operator;\n const parentPos = PRECEDENCE[parentOp];\n\n const nodeOp = node.operator;\n const nodePos = PRECEDENCE[nodeOp];\n\n if (\n // Logical expressions with the same precedence don't need parens.\n (parentPos === nodePos &&\n parent.right === node &&\n !isLogicalExpression(parent)) ||\n parentPos > nodePos\n ) {\n return true;\n }\n }\n}\n\nexport function UnionTypeAnnotation(\n node: t.UnionTypeAnnotation,\n parent: t.Node,\n): boolean {\n return (\n isArrayTypeAnnotation(parent) ||\n isNullableTypeAnnotation(parent) ||\n isIntersectionTypeAnnotation(parent) ||\n isUnionTypeAnnotation(parent)\n );\n}\n\nexport { UnionTypeAnnotation as IntersectionTypeAnnotation };\n\nexport function OptionalIndexedAccessType(\n node: t.OptionalIndexedAccessType,\n parent: t.Node,\n): boolean {\n return isIndexedAccessType(parent, { objectType: node });\n}\n\nexport function TSAsExpression() {\n return true;\n}\n\nexport {\n TSAsExpression as TSSatisfiesExpression,\n TSAsExpression as TSTypeAssertion,\n};\n\nexport function TSUnionType(node: t.TSUnionType, parent: t.Node): boolean {\n return (\n isTSArrayType(parent) ||\n isTSOptionalType(parent) ||\n isTSIntersectionType(parent) ||\n isTSUnionType(parent) ||\n isTSRestType(parent)\n );\n}\n\nexport { TSUnionType as TSIntersectionType };\n\nexport function TSInferType(node: t.TSInferType, parent: t.Node): boolean {\n return isTSArrayType(parent) || isTSOptionalType(parent);\n}\n\nexport function TSInstantiationExpression(\n node: t.TSInstantiationExpression,\n parent: t.Node,\n) {\n return (\n (isCallExpression(parent) ||\n isOptionalCallExpression(parent) ||\n isNewExpression(parent) ||\n isTSInstantiationExpression(parent)) &&\n !!parent.typeParameters\n );\n}\n\nexport function BinaryExpression(\n node: t.BinaryExpression,\n parent: t.Node,\n): boolean {\n // let i = (1 in []);\n // for ((1 in []);;);\n return (\n node.operator === \"in\" && (isVariableDeclarator(parent) || isFor(parent))\n );\n}\n\nexport function SequenceExpression(\n node: t.SequenceExpression,\n parent: t.Node,\n): boolean {\n if (\n // Although parentheses wouldn't hurt around sequence\n // expressions in the head of for loops, traditional style\n // dictates that e.g. i++, j++ should not be wrapped with\n // parentheses.\n isForStatement(parent) ||\n isThrowStatement(parent) ||\n isReturnStatement(parent) ||\n (isIfStatement(parent) && parent.test === node) ||\n (isWhileStatement(parent) && parent.test === node) ||\n (isForInStatement(parent) && parent.right === node) ||\n (isSwitchStatement(parent) && parent.discriminant === node) ||\n (isExpressionStatement(parent) && parent.expression === node)\n ) {\n return false;\n }\n\n // Otherwise err on the side of overparenthesization, adding\n // explicit exceptions above if this proves overzealous.\n return true;\n}\n\nexport function YieldExpression(\n node: t.YieldExpression,\n parent: t.Node,\n): boolean {\n return (\n isBinary(parent) ||\n isUnaryLike(parent) ||\n hasPostfixPart(node, parent) ||\n (isAwaitExpression(parent) && isYieldExpression(node)) ||\n (isConditionalExpression(parent) && node === parent.test) ||\n isClassExtendsClause(node, parent)\n );\n}\n\nexport { YieldExpression as AwaitExpression };\n\nexport function ClassExpression(\n node: t.ClassExpression,\n parent: t.Node,\n printStack: Array,\n): boolean {\n return isFirstInContext(\n printStack,\n CheckParam.expressionStatement | CheckParam.exportDefault,\n );\n}\n\nexport function UnaryLike(\n node:\n | t.UnaryLike\n | t.ArrowFunctionExpression\n | t.ConditionalExpression\n | t.AssignmentExpression,\n parent: t.Node,\n): boolean {\n return (\n hasPostfixPart(node, parent) ||\n isBinaryExpression(parent, { operator: \"**\", left: node }) ||\n isClassExtendsClause(node, parent)\n );\n}\n\nexport function FunctionExpression(\n node: t.FunctionExpression,\n parent: t.Node,\n printStack: Array,\n): boolean {\n return isFirstInContext(\n printStack,\n CheckParam.expressionStatement | CheckParam.exportDefault,\n );\n}\n\nexport function ArrowFunctionExpression(\n node: t.ArrowFunctionExpression,\n parent: t.Node,\n): boolean {\n return isExportDeclaration(parent) || ConditionalExpression(node, parent);\n}\n\nexport function ConditionalExpression(\n node:\n | t.ConditionalExpression\n | t.ArrowFunctionExpression\n | t.AssignmentExpression,\n parent?: t.Node,\n): boolean {\n if (\n isUnaryLike(parent) ||\n isBinary(parent) ||\n isConditionalExpression(parent, { test: node }) ||\n isAwaitExpression(parent) ||\n isTSTypeExpression(parent)\n ) {\n return true;\n }\n\n return UnaryLike(node, parent);\n}\n\nexport function OptionalMemberExpression(\n node: t.OptionalMemberExpression,\n parent: t.Node,\n): boolean {\n return (\n isCallExpression(parent, { callee: node }) ||\n isMemberExpression(parent, { object: node })\n );\n}\n\nexport { OptionalMemberExpression as OptionalCallExpression };\n\nexport function AssignmentExpression(\n node: t.AssignmentExpression,\n parent: t.Node,\n): boolean {\n if (isObjectPattern(node.left)) {\n return true;\n } else {\n return ConditionalExpression(node, parent);\n }\n}\n\nexport function LogicalExpression(\n node: t.LogicalExpression,\n parent: t.Node,\n): boolean {\n if (isTSTypeExpression(parent)) return true;\n switch (node.operator) {\n case \"||\":\n if (!isLogicalExpression(parent)) return false;\n return parent.operator === \"??\" || parent.operator === \"&&\";\n case \"&&\":\n return isLogicalExpression(parent, { operator: \"??\" });\n case \"??\":\n return isLogicalExpression(parent) && parent.operator !== \"??\";\n }\n}\n\nexport function Identifier(\n node: t.Identifier,\n parent: t.Node,\n printStack: Array,\n): boolean {\n // 13.15.2 AssignmentExpression RS: Evaluation\n // (fn) = function () {};\n if (\n node.extra?.parenthesized &&\n isAssignmentExpression(parent, { left: node }) &&\n (isFunctionExpression(parent.right) || isClassExpression(parent.right)) &&\n parent.right.id == null\n ) {\n return true;\n }\n // Non-strict code allows the identifier `let`, but it cannot occur as-is in\n // certain contexts to avoid ambiguity with contextual keyword `let`.\n if (node.name === \"let\") {\n // Some contexts only forbid `let [`, so check if the next token would\n // be the left bracket of a computed member expression.\n const isFollowedByBracket =\n isMemberExpression(parent, {\n object: node,\n computed: true,\n }) ||\n isOptionalMemberExpression(parent, {\n object: node,\n computed: true,\n optional: false,\n });\n return isFirstInContext(\n printStack,\n isFollowedByBracket\n ? CheckParam.expressionStatement |\n CheckParam.forHead |\n CheckParam.forInHead |\n CheckParam.forOfHead\n : CheckParam.forOfHead,\n );\n }\n\n // ECMAScript specifically forbids a for-of loop from starting with the\n // token sequence `for (async of`, because it would be ambiguous with\n // `for (async of => {};;)`, so we need to add extra parentheses.\n //\n // If the parent is a for-await-of loop (i.e. parent.await === true), the\n // parentheses aren't strictly needed, but we add them anyway because\n // some tools (including earlier Babel versions) can't parse\n // `for await (async of [])` without them.\n return (\n node.name === \"async\" && isForOfStatement(parent) && node === parent.left\n );\n}\n\n// Walk up the print stack to determine if our node can come first\n// in a particular context.\nfunction isFirstInContext(\n printStack: Array,\n checkParam: CheckParam,\n): boolean {\n const expressionStatement = checkParam & CheckParam.expressionStatement;\n const arrowBody = checkParam & CheckParam.arrowBody;\n const exportDefault = checkParam & CheckParam.exportDefault;\n const forHead = checkParam & CheckParam.forHead;\n const forInHead = checkParam & CheckParam.forInHead;\n const forOfHead = checkParam & CheckParam.forOfHead;\n\n let i = printStack.length - 1;\n if (i <= 0) return;\n let node = printStack[i];\n i--;\n let parent = printStack[i];\n while (i >= 0) {\n if (\n (expressionStatement &&\n isExpressionStatement(parent, { expression: node })) ||\n (exportDefault &&\n isExportDefaultDeclaration(parent, { declaration: node })) ||\n (arrowBody && isArrowFunctionExpression(parent, { body: node })) ||\n (forHead && isForStatement(parent, { init: node })) ||\n (forInHead && isForInStatement(parent, { left: node })) ||\n (forOfHead && isForOfStatement(parent, { left: node }))\n ) {\n return true;\n }\n\n if (\n i > 0 &&\n ((hasPostfixPart(node, parent) && !isNewExpression(parent)) ||\n (isSequenceExpression(parent) && parent.expressions[0] === node) ||\n (isUpdateExpression(parent) && !parent.prefix) ||\n isConditional(parent, { test: node }) ||\n isBinary(parent, { left: node }) ||\n isAssignmentExpression(parent, { left: node }))\n ) {\n node = parent;\n i--;\n parent = printStack[i];\n } else {\n return false;\n }\n }\n\n return false;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,EAAA,GAAAC,OAAA;AAoDsB;EAnDpBC,qBAAqB;EACrBC,yBAAyB;EACzBC,sBAAsB;EACtBC,iBAAiB;EACjBC,QAAQ;EACRC,kBAAkB;EAClBC,kBAAkB;EAClBC,gBAAgB;EAChBC,OAAO;EACPC,iBAAiB;EACjBC,aAAa;EACbC,uBAAuB;EACvBC,mBAAmB;EACnBC,0BAA0B;EAC1BC,qBAAqB;EACrBC,KAAK;EACLC,gBAAgB;EAChBC,gBAAgB;EAChBC,cAAc;EACdC,oBAAoB;EACpBC,aAAa;EACbC,mBAAmB;EACnBC,4BAA4B;EAC5BC,mBAAmB;EACnBC,kBAAkB;EAClBC,eAAe;EACfC,wBAAwB;EACxBC,eAAe;EACfC,wBAAwB;EACxBC,0BAA0B;EAC1BC,iBAAiB;EACjBC,oBAAoB;EACpBC,iBAAiB;EACjBC,aAAa;EACbC,gBAAgB;EAChBC,2BAA2B;EAC3BC,oBAAoB;EACpBC,qBAAqB;EACrBC,gBAAgB;EAChBC,YAAY;EACZC,iBAAiB;EACjBC,aAAa;EACbC,0BAA0B;EAC1BC,gBAAgB;EAChBC,gBAAgB;EAChBC,WAAW;EACXC,qBAAqB;EACrBC,oBAAoB;EACpBC,gBAAgB;EAChBC,iBAAiB;EACjBC;AAAuB,IAAApD,EAAA;AAGzB,MAAMqD,UAAU,GAAG;EACjB,IAAI,EAAE,CAAC;EACP,IAAI,EAAE,CAAC;EACP,IAAI,EAAE,CAAC;EACP,IAAI,EAAE,CAAC;EACP,GAAG,EAAE,CAAC;EACN,GAAG,EAAE,CAAC;EACN,GAAG,EAAE,CAAC;EACN,IAAI,EAAE,CAAC;EACP,KAAK,EAAE,CAAC;EACR,IAAI,EAAE,CAAC;EACP,KAAK,EAAE,CAAC;EACR,GAAG,EAAE,CAAC;EACN,GAAG,EAAE,CAAC;EACN,IAAI,EAAE,CAAC;EACP,IAAI,EAAE,CAAC;EACPC,EAAE,EAAE,CAAC;EACLC,UAAU,EAAE,CAAC;EACb,IAAI,EAAE,CAAC;EACP,IAAI,EAAE,CAAC;EACP,KAAK,EAAE,CAAC;EACR,GAAG,EAAE,CAAC;EACN,GAAG,EAAE,CAAC;EACN,GAAG,EAAE,CAAC;EACN,GAAG,EAAE,CAAC;EACN,GAAG,EAAE,CAAC;EACN,IAAI,EAAE;AACR,CAAC;AAWD,SAASC,kBAAkBA,CAACC,IAAY,EAAE;EACxC,OACErB,gBAAgB,CAACqB,IAAI,CAAC,IACtBL,uBAAuB,CAACK,IAAI,CAAC,IAC7Bf,iBAAiB,CAACe,IAAI,CAAC;AAE3B;AAEA,MAAMC,oBAAoB,GAAGA,CAC3BD,IAAY,EACZE,MAAc,KACQjD,OAAO,CAACiD,MAAM,EAAE;EAAEC,UAAU,EAAEH;AAAK,CAAC,CAAC;AAE7D,MAAMI,cAAc,GAAGA,CAACJ,IAAY,EAAEE,MAAc,KACjD,CAACjC,kBAAkB,CAACiC,MAAM,CAAC,IAAI5B,0BAA0B,CAAC4B,MAAM,CAAC,KAChEA,MAAM,CAACG,MAAM,KAAKL,IAAI,IACvB,CAAChD,gBAAgB,CAACkD,MAAM,CAAC,IACxB7B,wBAAwB,CAAC6B,MAAM,CAAC,IAChChC,eAAe,CAACgC,MAAM,CAAC,KACvBA,MAAM,CAACI,MAAM,KAAKN,IAAK,IACxBb,0BAA0B,CAACe,MAAM,CAAC,IAAIA,MAAM,CAACK,GAAG,KAAKP,IAAK,IAC3DlB,qBAAqB,CAACoB,MAAM,CAAC;AAExB,SAASM,sBAAsBA,CACpCR,IAA8B,EAC9BE,MAAc,EACL;EACT,OAAOzD,qBAAqB,CAACyD,MAAM,CAAC;AACtC;AAEO,SAASO,sBAAsBA,CACpCT,IAA8B,EAC9BE,MAAc,EACdQ,UAAyB,EAChB;EACT,IAAIA,UAAU,CAACC,MAAM,GAAG,CAAC,EAAE;EAE3B,OAEEpB,qBAAqB,CAACW,MAAM,CAAC,IAE7BnC,4BAA4B,CAACmC,MAAM,CAAC,IAEpCzD,qBAAqB,CAACyD,MAAM,CAAC,IAE5Bb,gBAAgB,CAACa,MAAM,CAAC,IAEvBxD,yBAAyB,CAACgE,UAAU,CAACA,UAAU,CAACC,MAAM,GAAG,CAAC,CAAC,CAAE;AAEnE;AAEO,SAASC,gBAAgBA,CAC9BZ,IAAwB,EACxBE,MAAc,EACL;EACT,OAAOE,cAAc,CAACJ,IAAI,EAAEE,MAAM,CAAC,IAAID,oBAAoB,CAACD,IAAI,EAAEE,MAAM,CAAC;AAC3E;AAEO,SAASW,gBAAgBA,CAC9Bb,IAAwB,EACxBE,MAAc,EACdQ,UAAyB,EAChB;EACT,OAAOI,gBAAgB,CACrBJ,UAAU,EACV,KACF,CAAC;AACH;AAEO,SAASK,YAAYA,CAC1Bf,IAAoB,EACpBE,MAAc,EACdQ,UAAyB,EAChB;EAET,OACE,CAACV,IAAI,CAACgB,KAAK,IAAIF,gBAAgB,CAACJ,UAAU,GAAgC,CAAC;AAE/E;AAEO,SAASO,MAAMA,CAACjB,IAAwB,EAAEE,MAAc,EAAW;EACxE,IACEF,IAAI,CAACkB,QAAQ,KAAK,IAAI,IACtBpE,kBAAkB,CAACoD,MAAM,EAAE;IAAEgB,QAAQ,EAAE;EAAK,CAAC,CAAC,EAC9C;IACA,OAAOhB,MAAM,CAACiB,IAAI,KAAKnB,IAAI;EAC7B;EAEA,IAAIC,oBAAoB,CAACD,IAAI,EAAEE,MAAM,CAAC,EAAE;IACtC,OAAO,IAAI;EACb;EAEA,IACEE,cAAc,CAACJ,IAAI,EAAEE,MAAM,CAAC,IAC5BZ,WAAW,CAACY,MAAM,CAAC,IACnBtD,iBAAiB,CAACsD,MAAM,CAAC,EACzB;IACA,OAAO,IAAI;EACb;EAEA,IAAIrD,QAAQ,CAACqD,MAAM,CAAC,EAAE;IACpB,MAAMkB,QAAQ,GAAGlB,MAAM,CAACgB,QAAQ;IAChC,MAAMG,SAAS,GAAGzB,UAAU,CAACwB,QAAQ,CAAC;IAEtC,MAAME,MAAM,GAAGtB,IAAI,CAACkB,QAAQ;IAC5B,MAAMK,OAAO,GAAG3B,UAAU,CAAC0B,MAAM,CAAC;IAElC,IAEGD,SAAS,KAAKE,OAAO,IACpBrB,MAAM,CAACsB,KAAK,KAAKxB,IAAI,IACrB,CAAChC,mBAAmB,CAACkC,MAAM,CAAC,IAC9BmB,SAAS,GAAGE,OAAO,EACnB;MACA,OAAO,IAAI;IACb;EACF;AACF;AAEO,SAASE,mBAAmBA,CACjCzB,IAA2B,EAC3BE,MAAc,EACL;EACT,OACEzD,qBAAqB,CAACyD,MAAM,CAAC,IAC7B/B,wBAAwB,CAAC+B,MAAM,CAAC,IAChCnC,4BAA4B,CAACmC,MAAM,CAAC,IACpCX,qBAAqB,CAACW,MAAM,CAAC;AAEjC;AAIO,SAASwB,yBAAyBA,CACvC1B,IAAiC,EACjCE,MAAc,EACL;EACT,OAAOpC,mBAAmB,CAACoC,MAAM,EAAE;IAAEyB,UAAU,EAAE3B;EAAK,CAAC,CAAC;AAC1D;AAEO,SAAS4B,cAAcA,CAAA,EAAG;EAC/B,OAAO,IAAI;AACb;AAOO,SAASC,WAAWA,CAAC7B,IAAmB,EAAEE,MAAc,EAAW;EACxE,OACExB,aAAa,CAACwB,MAAM,CAAC,IACrBnB,gBAAgB,CAACmB,MAAM,CAAC,IACxBrB,oBAAoB,CAACqB,MAAM,CAAC,IAC5BhB,aAAa,CAACgB,MAAM,CAAC,IACrBlB,YAAY,CAACkB,MAAM,CAAC;AAExB;AAIO,SAAS4B,WAAWA,CAAC9B,IAAmB,EAAEE,MAAc,EAAW;EACxE,OAAOxB,aAAa,CAACwB,MAAM,CAAC,IAAInB,gBAAgB,CAACmB,MAAM,CAAC;AAC1D;AAEO,SAAS6B,yBAAyBA,CACvC/B,IAAiC,EACjCE,MAAc,EACd;EACA,OACE,CAAClD,gBAAgB,CAACkD,MAAM,CAAC,IACvB7B,wBAAwB,CAAC6B,MAAM,CAAC,IAChChC,eAAe,CAACgC,MAAM,CAAC,IACvBtB,2BAA2B,CAACsB,MAAM,CAAC,KACrC,CAAC,CAACA,MAAM,CAAC8B,cAAc;AAE3B;AAEO,SAASC,gBAAgBA,CAC9BjC,IAAwB,EACxBE,MAAc,EACL;EAGT,OACEF,IAAI,CAACkB,QAAQ,KAAK,IAAI,KAAK1B,oBAAoB,CAACU,MAAM,CAAC,IAAI1C,KAAK,CAAC0C,MAAM,CAAC,CAAC;AAE7E;AAEO,SAASgC,kBAAkBA,CAChClC,IAA0B,EAC1BE,MAAc,EACL;EACT,IAKEvC,cAAc,CAACuC,MAAM,CAAC,IACtBd,gBAAgB,CAACc,MAAM,CAAC,IACxB3B,iBAAiB,CAAC2B,MAAM,CAAC,IACxBrC,aAAa,CAACqC,MAAM,CAAC,IAAIA,MAAM,CAACiC,IAAI,KAAKnC,IAAK,IAC9CP,gBAAgB,CAACS,MAAM,CAAC,IAAIA,MAAM,CAACiC,IAAI,KAAKnC,IAAK,IACjDvC,gBAAgB,CAACyC,MAAM,CAAC,IAAIA,MAAM,CAACsB,KAAK,KAAKxB,IAAK,IAClDvB,iBAAiB,CAACyB,MAAM,CAAC,IAAIA,MAAM,CAACkC,YAAY,KAAKpC,IAAK,IAC1DzC,qBAAqB,CAAC2C,MAAM,CAAC,IAAIA,MAAM,CAACmC,UAAU,KAAKrC,IAAK,EAC7D;IACA,OAAO,KAAK;EACd;EAIA,OAAO,IAAI;AACb;AAEO,SAASsC,eAAeA,CAC7BtC,IAAuB,EACvBE,MAAc,EACL;EACT,OACErD,QAAQ,CAACqD,MAAM,CAAC,IAChBZ,WAAW,CAACY,MAAM,CAAC,IACnBE,cAAc,CAACJ,IAAI,EAAEE,MAAM,CAAC,IAC3BtD,iBAAiB,CAACsD,MAAM,CAAC,IAAIR,iBAAiB,CAACM,IAAI,CAAE,IACrD5C,uBAAuB,CAAC8C,MAAM,CAAC,IAAIF,IAAI,KAAKE,MAAM,CAACiC,IAAK,IACzDlC,oBAAoB,CAACD,IAAI,EAAEE,MAAM,CAAC;AAEtC;AAIO,SAASqC,eAAeA,CAC7BvC,IAAuB,EACvBE,MAAc,EACdQ,UAAyB,EAChB;EACT,OAAOI,gBAAgB,CACrBJ,UAAU,EACV,KACF,CAAC;AACH;AAEO,SAAS8B,SAASA,CACvBxC,IAI0B,EAC1BE,MAAc,EACL;EACT,OACEE,cAAc,CAACJ,IAAI,EAAEE,MAAM,CAAC,IAC5BpD,kBAAkB,CAACoD,MAAM,EAAE;IAAEgB,QAAQ,EAAE,IAAI;IAAEC,IAAI,EAAEnB;EAAK,CAAC,CAAC,IAC1DC,oBAAoB,CAACD,IAAI,EAAEE,MAAM,CAAC;AAEtC;AAEO,SAASuC,kBAAkBA,CAChCzC,IAA0B,EAC1BE,MAAc,EACdQ,UAAyB,EAChB;EACT,OAAOI,gBAAgB,CACrBJ,UAAU,EACV,KACF,CAAC;AACH;AAEO,SAASgC,uBAAuBA,CACrC1C,IAA+B,EAC/BE,MAAc,EACL;EACT,OAAO7C,mBAAmB,CAAC6C,MAAM,CAAC,IAAIyC,qBAAqB,CAAC3C,IAAI,EAAEE,MAAM,CAAC;AAC3E;AAEO,SAASyC,qBAAqBA,CACnC3C,IAG0B,EAC1BE,MAAe,EACN;EACT,IACEZ,WAAW,CAACY,MAAM,CAAC,IACnBrD,QAAQ,CAACqD,MAAM,CAAC,IAChB9C,uBAAuB,CAAC8C,MAAM,EAAE;IAAEiC,IAAI,EAAEnC;EAAK,CAAC,CAAC,IAC/CpD,iBAAiB,CAACsD,MAAM,CAAC,IACzBH,kBAAkB,CAACG,MAAM,CAAC,EAC1B;IACA,OAAO,IAAI;EACb;EAEA,OAAOsC,SAAS,CAACxC,IAAI,EAAEE,MAAM,CAAC;AAChC;AAEO,SAAS0C,wBAAwBA,CACtC5C,IAAgC,EAChCE,MAAc,EACL;EACT,OACElD,gBAAgB,CAACkD,MAAM,EAAE;IAAEI,MAAM,EAAEN;EAAK,CAAC,CAAC,IAC1C/B,kBAAkB,CAACiC,MAAM,EAAE;IAAEG,MAAM,EAAEL;EAAK,CAAC,CAAC;AAEhD;AAIO,SAAS6C,oBAAoBA,CAClC7C,IAA4B,EAC5BE,MAAc,EACL;EACT,IAAI9B,eAAe,CAAC4B,IAAI,CAACmB,IAAI,CAAC,EAAE;IAC9B,OAAO,IAAI;EACb,CAAC,MAAM;IACL,OAAOwB,qBAAqB,CAAC3C,IAAI,EAAEE,MAAM,CAAC;EAC5C;AACF;AAEO,SAAS4C,iBAAiBA,CAC/B9C,IAAyB,EACzBE,MAAc,EACL;EACT,IAAIH,kBAAkB,CAACG,MAAM,CAAC,EAAE,OAAO,IAAI;EAC3C,QAAQF,IAAI,CAACkB,QAAQ;IACnB,KAAK,IAAI;MACP,IAAI,CAAClD,mBAAmB,CAACkC,MAAM,CAAC,EAAE,OAAO,KAAK;MAC9C,OAAOA,MAAM,CAACgB,QAAQ,KAAK,IAAI,IAAIhB,MAAM,CAACgB,QAAQ,KAAK,IAAI;IAC7D,KAAK,IAAI;MACP,OAAOlD,mBAAmB,CAACkC,MAAM,EAAE;QAAEgB,QAAQ,EAAE;MAAK,CAAC,CAAC;IACxD,KAAK,IAAI;MACP,OAAOlD,mBAAmB,CAACkC,MAAM,CAAC,IAAIA,MAAM,CAACgB,QAAQ,KAAK,IAAI;EAClE;AACF;AAEO,SAAS6B,UAAUA,CACxB/C,IAAkB,EAClBE,MAAc,EACdQ,UAAyB,EAChB;EAAA,IAAAsC,WAAA;EAGT,IACE,CAAAA,WAAA,GAAAhD,IAAI,CAACiD,KAAK,aAAVD,WAAA,CAAYE,aAAa,IACzBvG,sBAAsB,CAACuD,MAAM,EAAE;IAAEiB,IAAI,EAAEnB;EAAK,CAAC,CAAC,KAC7CpC,oBAAoB,CAACsC,MAAM,CAACsB,KAAK,CAAC,IAAItE,iBAAiB,CAACgD,MAAM,CAACsB,KAAK,CAAC,CAAC,IACvEtB,MAAM,CAACsB,KAAK,CAAC2B,EAAE,IAAI,IAAI,EACvB;IACA,OAAO,IAAI;EACb;EAGA,IAAInD,IAAI,CAACoD,IAAI,KAAK,KAAK,EAAE;IAGvB,MAAMC,mBAAmB,GACvBpF,kBAAkB,CAACiC,MAAM,EAAE;MACzBG,MAAM,EAAEL,IAAI;MACZsD,QAAQ,EAAE;IACZ,CAAC,CAAC,IACFhF,0BAA0B,CAAC4B,MAAM,EAAE;MACjCG,MAAM,EAAEL,IAAI;MACZsD,QAAQ,EAAE,IAAI;MACdC,QAAQ,EAAE;IACZ,CAAC,CAAC;IACJ,OAAOzC,gBAAgB,CACrBJ,UAAU,EACV2C,mBAAmB,GACf,KACoB,KACE,KACA,KAE5B,CAAC;EACH;EAUA,OACErD,IAAI,CAACoD,IAAI,KAAK,OAAO,IAAI1F,gBAAgB,CAACwC,MAAM,CAAC,IAAIF,IAAI,KAAKE,MAAM,CAACiB,IAAI;AAE7E;AAIA,SAASL,gBAAgBA,CACvBJ,UAAyB,EACzB8C,UAAsB,EACb;EACT,MAAMC,mBAAmB,GAAGD,UAAU,IAAiC;EACvE,MAAME,SAAS,GAAGF,UAAU,IAAuB;EACnD,MAAMG,aAAa,GAAGH,UAAU,IAA2B;EAC3D,MAAMI,OAAO,GAAGJ,UAAU,IAAqB;EAC/C,MAAMK,SAAS,GAAGL,UAAU,KAAuB;EACnD,MAAMM,SAAS,GAAGN,UAAU,KAAuB;EAEnD,IAAIO,CAAC,GAAGrD,UAAU,CAACC,MAAM,GAAG,CAAC;EAC7B,IAAIoD,CAAC,IAAI,CAAC,EAAE;EACZ,IAAI/D,IAAI,GAAGU,UAAU,CAACqD,CAAC,CAAC;EACxBA,CAAC,EAAE;EACH,IAAI7D,MAAM,GAAGQ,UAAU,CAACqD,CAAC,CAAC;EAC1B,OAAOA,CAAC,IAAI,CAAC,EAAE;IACb,IACGN,mBAAmB,IAClBlG,qBAAqB,CAAC2C,MAAM,EAAE;MAAEmC,UAAU,EAAErC;IAAK,CAAC,CAAC,IACpD2D,aAAa,IACZrG,0BAA0B,CAAC4C,MAAM,EAAE;MAAE8D,WAAW,EAAEhE;IAAK,CAAC,CAAE,IAC3D0D,SAAS,IAAIhH,yBAAyB,CAACwD,MAAM,EAAE;MAAE+D,IAAI,EAAEjE;IAAK,CAAC,CAAE,IAC/D4D,OAAO,IAAIjG,cAAc,CAACuC,MAAM,EAAE;MAAEgE,IAAI,EAAElE;IAAK,CAAC,CAAE,IAClD6D,SAAS,IAAIpG,gBAAgB,CAACyC,MAAM,EAAE;MAAEiB,IAAI,EAAEnB;IAAK,CAAC,CAAE,IACtD8D,SAAS,IAAIpG,gBAAgB,CAACwC,MAAM,EAAE;MAAEiB,IAAI,EAAEnB;IAAK,CAAC,CAAE,EACvD;MACA,OAAO,IAAI;IACb;IAEA,IACE+D,CAAC,GAAG,CAAC,KACH3D,cAAc,CAACJ,IAAI,EAAEE,MAAM,CAAC,IAAI,CAAChC,eAAe,CAACgC,MAAM,CAAC,IACvD1B,oBAAoB,CAAC0B,MAAM,CAAC,IAAIA,MAAM,CAACiE,WAAW,CAAC,CAAC,CAAC,KAAKnE,IAAK,IAC/DjD,kBAAkB,CAACmD,MAAM,CAAC,IAAI,CAACA,MAAM,CAACkE,MAAO,IAC9CjH,aAAa,CAAC+C,MAAM,EAAE;MAAEiC,IAAI,EAAEnC;IAAK,CAAC,CAAC,IACrCnD,QAAQ,CAACqD,MAAM,EAAE;MAAEiB,IAAI,EAAEnB;IAAK,CAAC,CAAC,IAChCrD,sBAAsB,CAACuD,MAAM,EAAE;MAAEiB,IAAI,EAAEnB;IAAK,CAAC,CAAC,CAAC,EACjD;MACAA,IAAI,GAAGE,MAAM;MACb6D,CAAC,EAAE;MACH7D,MAAM,GAAGQ,UAAU,CAACqD,CAAC,CAAC;IACxB,CAAC,MAAM;MACL,OAAO,KAAK;IACd;EACF;EAEA,OAAO,KAAK;AACd"} \ No newline at end of file diff --git a/node_modules/@babel/generator/lib/printer.js b/node_modules/@babel/generator/lib/printer.js index 9b4844973..ae6fa9aac 100644 --- a/node_modules/@babel/generator/lib/printer.js +++ b/node_modules/@babel/generator/lib/printer.js @@ -8,7 +8,6 @@ var _buffer = require("./buffer"); var n = require("./node"); var _t = require("@babel/types"); var generatorFunctions = require("./generators"); -require("@jridgewell/trace-mapping"); const { isFunction, isStatement, @@ -70,12 +69,17 @@ class Printer { } this._noLineTerminator = false; } - rightBrace() { + rightBrace(node) { if (this.format.minified) { this._buf.removeLastSemicolon(); } + this.sourceWithOffset("end", node.loc, 0, -1); this.tokenChar(125); } + rightParens(node) { + this.sourceWithOffset("end", node.loc, 0, -1); + this.tokenChar(41); + } space(force = false) { if (this.format.compact) return; if (force) { @@ -270,10 +274,11 @@ class Printer { } } _catchUp(prop, loc) { + var _loc$prop; if (!this.format.retainLines) return; - const pos = loc ? loc[prop] : null; - if ((pos == null ? void 0 : pos.line) != null) { - const count = pos.line - this._buf.getCurrentLine(); + const line = loc == null ? void 0 : (_loc$prop = loc[prop]) == null ? void 0 : _loc$prop.line; + if (line != null) { + const count = line - this._buf.getCurrentLine(); for (let i = 0; i < count; i++) { this._newline(); } @@ -300,6 +305,7 @@ class Printer { } } print(node, parent, noLineTerminatorAfter, trailingCommentsLineOffset, forceParens) { + var _node$extra; if (!node) return; this._endsWithInnerRaw = false; const nodeType = node.type; @@ -316,14 +322,7 @@ class Printer { const oldInAux = this._insideAux; this._insideAux = node.loc == undefined; this._maybeAddAuxComment(this._insideAux && !oldInAux); - let shouldPrintParens = false; - if (forceParens) { - shouldPrintParens = true; - } else if (format.retainFunctionParens && nodeType === "FunctionExpression" && node.extra && node.extra.parenthesized) { - shouldPrintParens = true; - } else { - shouldPrintParens = needsParens(node, parent, this._printStack); - } + const shouldPrintParens = forceParens || format.retainFunctionParens && nodeType === "FunctionExpression" && ((_node$extra = node.extra) == null ? void 0 : _node$extra.parenthesized) || needsParens(node, parent, this._printStack); if (shouldPrintParens) { this.tokenChar(40); this._endsWithInnerRaw = false; @@ -381,7 +380,17 @@ class Printer { } printJoin(nodes, parent, opts = {}) { if (!(nodes != null && nodes.length)) return; - if (opts.indent) this.indent(); + let { + indent + } = opts; + if (indent == null && this.format.retainLines) { + var _nodes$0$loc; + const startLine = (_nodes$0$loc = nodes[0].loc) == null ? void 0 : _nodes$0$loc.start.line; + if (startLine != null && startLine !== this._buf.getCurrentLine()) { + indent = true; + } + } + if (indent) this.indent(); const newlineOpts = { addNewlines: opts.addNewlines, nextNodeStartLine: 0 @@ -406,7 +415,7 @@ class Printer { } } } - if (opts.indent) this.dedent(); + if (indent) this.dedent(); } printAndIndentOnComments(node, parent) { const indent = node.leadingComments && node.leadingComments.length > 0; @@ -461,7 +470,9 @@ class Printer { this._indentInnerComments = false; } printSequence(nodes, parent, opts = {}) { + var _opts$indent; opts.statement = true; + (_opts$indent = opts.indent) != null ? _opts$indent : opts.indent = false; this.printJoin(nodes, parent, opts); } printList(items, parent, opts = {}) { @@ -471,8 +482,9 @@ class Printer { this.printJoin(items, parent, opts); } _printNewline(newLine, opts) { - if (this.format.retainLines || this.format.compact) return; - if (this.format.concise) { + const format = this.format; + if (format.retainLines || format.compact) return; + if (format.concise) { this.space(); return; } diff --git a/node_modules/@babel/generator/lib/printer.js.map b/node_modules/@babel/generator/lib/printer.js.map index 0d8cfec3e..00a1c4f81 100644 --- a/node_modules/@babel/generator/lib/printer.js.map +++ b/node_modules/@babel/generator/lib/printer.js.map @@ -1 +1 @@ -{"version":3,"names":["_buffer","require","n","_t","generatorFunctions","isFunction","isStatement","isClassBody","isTSInterfaceBody","isTSEnumDeclaration","SCIENTIFIC_NOTATION","ZERO_DECIMAL_INTEGER","NON_DECIMAL_LITERAL","PURE_ANNOTATION_RE","HAS_NEWLINE","HAS_BlOCK_COMMENT_END","needsParens","Printer","constructor","format","map","inForStatementInitCounter","_printStack","_indent","_indentChar","_indentRepeat","_insideAux","_parenPushNewlineState","_noLineTerminator","_printAuxAfterOnNextUserNode","_printedComments","Set","_endsWithInteger","_endsWithWord","_lastCommentLine","_endsWithInnerRaw","_indentInnerComments","_buf","Buffer","indent","style","charCodeAt","length","_inputMap","generate","ast","print","_maybeAddAuxComment","get","compact","concise","dedent","semicolon","force","_appendChar","_queue","rightBrace","minified","removeLastSemicolon","token","space","_space","hasContent","lastCp","getLastChar","word","str","noLineTerminatorAfter","_maybePrintInnerComments","endsWith","_append","number","Number","isInteger","test","maybeNewline","lastChar","strFirst","tokenChar","char","newline","i","retainLines","getNewlineCount","j","_newline","endsWithCharAndNewline","removeTrailingNewline","exactSource","loc","cb","_catchUp","source","prop","sourceWithOffset","lineOffset","columnOffset","withSource","sourceIdentifierName","identifierName","pos","_canMarkIdName","sourcePosition","_sourcePosition","identifierNamePos","_maybeAddParen","_maybeIndent","append","_maybeAddParenChar","appendChar","queue","firstChar","queueIndentation","_getIndent","_shouldIndent","parenPushNewlineState","printed","len","cha","chaPost","slice","catchUp","line","count","getCurrentLine","printTerminatorless","node","parent","isLabel","terminatorState","trailingCommentsLineOffset","forceParens","nodeType","type","oldConcise","_compact","printMethod","undefined","ReferenceError","JSON","stringify","name","push","oldInAux","shouldPrintParens","retainFunctionParens","extra","parenthesized","_printLeadingComments","bind","_printTrailingComments","pop","enteredPositionlessNode","_printAuxBeforeComment","_printAuxAfterComment","comment","auxiliaryCommentBefore","_printComment","value","auxiliaryCommentAfter","getPossibleRaw","raw","rawValue","printJoin","nodes","opts","newlineOpts","addNewlines","nextNodeStartLine","separator","statement","_printNewline","iterator","_nextNode$loc","nextNode","start","printAndIndentOnComments","leadingComments","printBlock","body","innerComments","trailingComments","_printComments","comments","printInnerComments","hasSpace","printedCommentsCount","size","noIndentInnerCommentsHere","printSequence","printList","items","commaSeparator","newLine","startLine","lastCommentLine","offset","_shouldPrintComment","ignore","has","add","shouldPrintComment","skipNewLines","noLineTerminator","isBlockComment","printNewLines","lastCharCode","val","adjustMultilineComment","_comment$loc","column","newlineRegex","RegExp","replace","indentSize","getCurrentColumn","repeat","nodeLoc","hasLoc","nodeStartLine","nodeEndLine","end","lastLine","leadingCommentNewline","shouldPrint","commentStartLine","commentEndLine","Math","max","min","singleLine","shouldSkipNewline","properties","Object","assign","prototype","Noop","_default","exports","default"],"sources":["../src/printer.ts"],"sourcesContent":["import Buffer, { type Pos } from \"./buffer\";\nimport type { Loc } from \"./buffer\";\nimport * as n from \"./node\";\nimport type * as t from \"@babel/types\";\nimport {\n isFunction,\n isStatement,\n isClassBody,\n isTSInterfaceBody,\n isTSEnumDeclaration,\n} from \"@babel/types\";\nimport type {\n RecordAndTuplePluginOptions,\n PipelineOperatorPluginOptions,\n} from \"@babel/parser\";\nimport type { Opts as jsescOptions } from \"jsesc\";\n\nimport * as generatorFunctions from \"./generators\";\nimport type SourceMap from \"./source-map\";\nimport * as charCodes from \"charcodes\";\nimport { type TraceMap } from \"@jridgewell/trace-mapping\";\n\nconst SCIENTIFIC_NOTATION = /e/i;\nconst ZERO_DECIMAL_INTEGER = /\\.0+$/;\nconst NON_DECIMAL_LITERAL = /^0[box]/;\nconst PURE_ANNOTATION_RE = /^\\s*[@#]__PURE__\\s*$/;\nconst HAS_NEWLINE = /[\\n\\r\\u2028\\u2029]/;\nconst HAS_BlOCK_COMMENT_END = /\\*\\//;\n\nconst { needsParens } = n;\n\nconst enum COMMENT_TYPE {\n LEADING,\n INNER,\n TRAILING,\n}\n\nconst enum COMMENT_SKIP_NEWLINE {\n DEFAULT,\n ALL,\n LEADING,\n TRAILING,\n}\n\nconst enum PRINT_COMMENT_HINT {\n SKIP,\n ALLOW,\n DEFER,\n}\n\nexport type Format = {\n shouldPrintComment: (comment: string) => boolean;\n retainLines: boolean;\n retainFunctionParens: boolean;\n comments: boolean;\n auxiliaryCommentBefore: string;\n auxiliaryCommentAfter: string;\n compact: boolean | \"auto\";\n minified: boolean;\n concise: boolean;\n indent: {\n adjustMultilineComment: boolean;\n style: string;\n };\n recordAndTupleSyntaxType: RecordAndTuplePluginOptions[\"syntaxType\"];\n jsescOption: jsescOptions;\n /**\n * @deprecated Removed in Babel 8, use `jsescOption` instead\n */\n jsonCompatibleStrings?: boolean;\n /**\n * For use with the Hack-style pipe operator.\n * Changes what token is used for pipe bodies’ topic references.\n */\n topicToken?: PipelineOperatorPluginOptions[\"topicToken\"];\n /**\n * @deprecated Removed in Babel 8\n */\n decoratorsBeforeExport?: boolean;\n};\n\ninterface AddNewlinesOptions {\n addNewlines(leading: boolean, node: t.Node): number;\n nextNodeStartLine: number;\n}\n\ninterface PrintSequenceOptions extends Partial {\n statement?: boolean;\n indent?: boolean;\n trailingCommentsLineOffset?: number;\n}\n\ninterface PrintListOptions {\n separator?: (this: Printer) => void;\n iterator?: (node: t.Node, index: number) => void;\n statement?: boolean;\n indent?: boolean;\n}\n\nexport type PrintJoinOptions = PrintListOptions & PrintSequenceOptions;\nclass Printer {\n constructor(format: Format, map: SourceMap) {\n this.format = format;\n this._buf = new Buffer(map);\n\n this._indentChar = format.indent.style.charCodeAt(0);\n this._indentRepeat = format.indent.style.length;\n\n this._inputMap = map?._inputMap;\n }\n declare _inputMap: TraceMap;\n\n declare format: Format;\n inForStatementInitCounter: number = 0;\n\n declare _buf: Buffer;\n _printStack: Array = [];\n _indent: number = 0;\n _indentChar: number = 0;\n _indentRepeat: number = 0;\n _insideAux: boolean = false;\n _parenPushNewlineState: { printed: boolean } | null = null;\n _noLineTerminator: boolean = false;\n _printAuxAfterOnNextUserNode: boolean = false;\n _printedComments = new Set();\n _endsWithInteger = false;\n _endsWithWord = false;\n _lastCommentLine = 0;\n _endsWithInnerRaw: boolean = false;\n _indentInnerComments: boolean = true;\n\n generate(ast: t.Node) {\n this.print(ast);\n this._maybeAddAuxComment();\n\n return this._buf.get();\n }\n\n /**\n * Increment indent size.\n */\n\n indent(): void {\n if (this.format.compact || this.format.concise) return;\n\n this._indent++;\n }\n\n /**\n * Decrement indent size.\n */\n\n dedent(): void {\n if (this.format.compact || this.format.concise) return;\n\n this._indent--;\n }\n\n /**\n * Add a semicolon to the buffer.\n */\n\n semicolon(force: boolean = false): void {\n this._maybeAddAuxComment();\n if (force) {\n this._appendChar(charCodes.semicolon);\n } else {\n this._queue(charCodes.semicolon);\n }\n this._noLineTerminator = false;\n }\n\n /**\n * Add a right brace to the buffer.\n */\n\n rightBrace(): void {\n if (this.format.minified) {\n this._buf.removeLastSemicolon();\n }\n this.token(\"}\");\n }\n\n /**\n * Add a space to the buffer unless it is compact.\n */\n\n space(force: boolean = false): void {\n if (this.format.compact) return;\n\n if (force) {\n this._space();\n } else if (this._buf.hasContent()) {\n const lastCp = this.getLastChar();\n if (lastCp !== charCodes.space && lastCp !== charCodes.lineFeed) {\n this._space();\n }\n }\n }\n\n /**\n * Writes a token that can't be safely parsed without taking whitespace into account.\n */\n\n word(str: string, noLineTerminatorAfter: boolean = false): void {\n this._maybePrintInnerComments();\n\n // prevent concatenating words and creating // comment out of division and regex\n if (\n this._endsWithWord ||\n (str.charCodeAt(0) === charCodes.slash && this.endsWith(charCodes.slash))\n ) {\n this._space();\n }\n\n this._maybeAddAuxComment();\n this._append(str, false);\n\n this._endsWithWord = true;\n this._noLineTerminator = noLineTerminatorAfter;\n }\n\n /**\n * Writes a number token so that we can validate if it is an integer.\n */\n\n number(str: string): void {\n this.word(str);\n\n // Integer tokens need special handling because they cannot have '.'s inserted\n // immediately after them.\n this._endsWithInteger =\n Number.isInteger(+str) &&\n !NON_DECIMAL_LITERAL.test(str) &&\n !SCIENTIFIC_NOTATION.test(str) &&\n !ZERO_DECIMAL_INTEGER.test(str) &&\n str.charCodeAt(str.length - 1) !== charCodes.dot;\n }\n\n /**\n * Writes a simple token.\n */\n\n token(str: string, maybeNewline = false): void {\n this._maybePrintInnerComments();\n\n const lastChar = this.getLastChar();\n const strFirst = str.charCodeAt(0);\n if (\n (lastChar === charCodes.exclamationMark &&\n // space is mandatory to avoid outputting \n // class Foo {} export { Foo as default }\n splitExportDeclaration(path);\n } else {\n // @ts-expect-error Anonymous class declarations can be\n // transformed as if they were expressions\n decl.node.type = \"ClassExpression\";\n }\n }\n }\n },\n },\n };\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_core","require","_helperFunctionName","_helperSplitExportDeclaration","_semver","_fields","_decorators","_misc","_features","_typescript","versionKey","createClassFeaturePlugin","name","feature","loose","manipulateOptions","api","inherits","_api","assumption","setPublicClassFields","privateFieldsAsSymbols","privateFieldsAsProperties","constantSuper","noDocumentAll","Error","privateFieldsAsSymbolsOrProperties","explicit","undefined","push","length","console","warn","join","pre","file","enableFeature","get","set","semver","lt","visitor","Class","path","shouldTransform","isClassDeclaration","assertFieldTransformed","isLoose","constructor","isDecorated","hasDecorators","node","props","elements","computedPaths","privateNames","Set","body","isClassProperty","isClassMethod","computed","isPrivate","key","id","getName","setName","isClassPrivateMethod","kind","has","buildCodeFrameError","add","isProperty","isStaticBlock","innerBinding","ref","isClassExpression","nameFunction","scope","generateUidIdentifier","t","cloneNode","privateNamesMap","buildPrivateNamesMap","privateNamesNodes","buildPrivateNamesNodes","transformPrivateNamesUsage","keysNodes","staticNodes","instanceNodes","pureStaticNodes","wrapClass","buildDecoratedClass","extractComputedKeys","buildFieldsInitNodes","superClass","injectInitialization","referenceVisitor","state","prop","static","traverse","wrappedPath","insertBefore","insertAfter","find","parent","isStatement","isDeclaration","ExportDefaultDeclaration","decl","splitExportDeclaration","type"],"sources":["../src/index.ts"],"sourcesContent":["import { types as t } from \"@babel/core\";\nimport type { PluginAPI, PluginObject } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport nameFunction from \"@babel/helper-function-name\";\nimport splitExportDeclaration from \"@babel/helper-split-export-declaration\";\n\nimport semver from \"semver\";\n\nimport {\n buildPrivateNamesNodes,\n buildPrivateNamesMap,\n transformPrivateNamesUsage,\n buildFieldsInitNodes,\n buildCheckInRHS,\n} from \"./fields\";\nimport type { PropPath } from \"./fields\";\nimport { buildDecoratedClass, hasDecorators } from \"./decorators\";\nimport { injectInitialization, extractComputedKeys } from \"./misc\";\nimport { enableFeature, FEATURES, isLoose, shouldTransform } from \"./features\";\nimport { assertFieldTransformed } from \"./typescript\";\n\nexport { FEATURES, enableFeature, injectInitialization, buildCheckInRHS };\n\nconst versionKey = \"@babel/plugin-class-features/version\";\n\ninterface Options {\n name: string;\n feature: number;\n loose?: boolean;\n inherits?: PluginObject[\"inherits\"];\n manipulateOptions?: PluginObject[\"manipulateOptions\"];\n api?: PluginAPI;\n}\n\nexport function createClassFeaturePlugin({\n name,\n feature,\n loose,\n manipulateOptions,\n api,\n inherits,\n}: Options): PluginObject {\n if (!process.env.BABEL_8_BREAKING) {\n api ??= { assumption: () => void 0 as any } as any;\n }\n const setPublicClassFields = api.assumption(\"setPublicClassFields\");\n const privateFieldsAsSymbols = api.assumption(\"privateFieldsAsSymbols\");\n const privateFieldsAsProperties = api.assumption(\"privateFieldsAsProperties\");\n const constantSuper = api.assumption(\"constantSuper\");\n const noDocumentAll = api.assumption(\"noDocumentAll\");\n\n if (privateFieldsAsProperties && privateFieldsAsSymbols) {\n throw new Error(\n `Cannot enable both the \"privateFieldsAsProperties\" and ` +\n `\"privateFieldsAsSymbols\" assumptions as the same time.`,\n );\n }\n const privateFieldsAsSymbolsOrProperties =\n privateFieldsAsProperties || privateFieldsAsSymbols;\n\n if (loose === true) {\n type AssumptionName = Parameters[0];\n const explicit: `\"${AssumptionName}\"`[] = [];\n\n if (setPublicClassFields !== undefined) {\n explicit.push(`\"setPublicClassFields\"`);\n }\n if (privateFieldsAsProperties !== undefined) {\n explicit.push(`\"privateFieldsAsProperties\"`);\n }\n if (privateFieldsAsSymbols !== undefined) {\n explicit.push(`\"privateFieldsAsSymbols\"`);\n }\n if (explicit.length !== 0) {\n console.warn(\n `[${name}]: You are using the \"loose: true\" option and you are` +\n ` explicitly setting a value for the ${explicit.join(\" and \")}` +\n ` assumption${explicit.length > 1 ? \"s\" : \"\"}. The \"loose\" option` +\n ` can cause incompatibilities with the other class features` +\n ` plugins, so it's recommended that you replace it with the` +\n ` following top-level option:\\n` +\n `\\t\"assumptions\": {\\n` +\n `\\t\\t\"setPublicClassFields\": true,\\n` +\n `\\t\\t\"privateFieldsAsSymbols\": true\\n` +\n `\\t}`,\n );\n }\n }\n\n return {\n name,\n manipulateOptions,\n inherits,\n\n pre(file) {\n enableFeature(file, feature, loose);\n\n if (!process.env.BABEL_8_BREAKING) {\n // Until 7.21.4, we used to encode the version as a number.\n // If file.get(versionKey) is a number, it has thus been\n // set by an older version of this plugin.\n if (typeof file.get(versionKey) === \"number\") {\n file.set(versionKey, PACKAGE_JSON.version);\n return;\n }\n }\n if (\n !file.get(versionKey) ||\n semver.lt(file.get(versionKey), PACKAGE_JSON.version)\n ) {\n file.set(versionKey, PACKAGE_JSON.version);\n }\n },\n\n visitor: {\n Class(path, { file }) {\n if (file.get(versionKey) !== PACKAGE_JSON.version) return;\n\n if (!shouldTransform(path, file)) return;\n\n if (path.isClassDeclaration()) assertFieldTransformed(path);\n\n const loose = isLoose(file, feature);\n\n let constructor: NodePath;\n const isDecorated = hasDecorators(path.node);\n const props: PropPath[] = [];\n const elements = [];\n const computedPaths: NodePath[] = [];\n const privateNames = new Set();\n const body = path.get(\"body\");\n\n for (const path of body.get(\"body\")) {\n if (\n // check path.node.computed is enough, but ts will complain\n (path.isClassProperty() || path.isClassMethod()) &&\n path.node.computed\n ) {\n computedPaths.push(path);\n }\n\n if (path.isPrivate()) {\n const { name } = path.node.key.id;\n const getName = `get ${name}`;\n const setName = `set ${name}`;\n\n if (path.isClassPrivateMethod()) {\n if (path.node.kind === \"get\") {\n if (\n privateNames.has(getName) ||\n (privateNames.has(name) && !privateNames.has(setName))\n ) {\n throw path.buildCodeFrameError(\"Duplicate private field\");\n }\n privateNames.add(getName).add(name);\n } else if (path.node.kind === \"set\") {\n if (\n privateNames.has(setName) ||\n (privateNames.has(name) && !privateNames.has(getName))\n ) {\n throw path.buildCodeFrameError(\"Duplicate private field\");\n }\n privateNames.add(setName).add(name);\n }\n } else {\n if (\n (privateNames.has(name) &&\n !privateNames.has(getName) &&\n !privateNames.has(setName)) ||\n (privateNames.has(name) &&\n (privateNames.has(getName) || privateNames.has(setName)))\n ) {\n throw path.buildCodeFrameError(\"Duplicate private field\");\n }\n\n privateNames.add(name);\n }\n }\n\n if (path.isClassMethod({ kind: \"constructor\" })) {\n constructor = path;\n } else {\n elements.push(path);\n if (\n path.isProperty() ||\n path.isPrivate() ||\n path.isStaticBlock?.()\n ) {\n props.push(path as PropPath);\n }\n }\n }\n\n if (process.env.BABEL_8_BREAKING) {\n if (!props.length) return;\n } else {\n if (!props.length && !isDecorated) return;\n }\n\n const innerBinding = path.node.id;\n let ref: t.Identifier;\n if (!innerBinding || path.isClassExpression()) {\n nameFunction(path);\n ref = path.scope.generateUidIdentifier(\"class\");\n } else {\n ref = t.cloneNode(path.node.id);\n }\n\n // NODE: These three functions don't support decorators yet,\n // but verifyUsedFeatures throws if there are both\n // decorators and private fields.\n const privateNamesMap = buildPrivateNamesMap(props);\n const privateNamesNodes = buildPrivateNamesNodes(\n privateNamesMap,\n privateFieldsAsProperties ?? loose,\n privateFieldsAsSymbols ?? false,\n file,\n );\n\n transformPrivateNamesUsage(\n ref,\n path,\n privateNamesMap,\n {\n privateFieldsAsProperties:\n privateFieldsAsSymbolsOrProperties ?? loose,\n noDocumentAll,\n innerBinding,\n },\n file,\n );\n\n let keysNodes: t.Statement[],\n staticNodes: t.Statement[],\n instanceNodes: t.Statement[],\n pureStaticNodes: t.FunctionDeclaration[],\n wrapClass: (path: NodePath) => NodePath;\n\n if (!process.env.BABEL_8_BREAKING) {\n if (isDecorated) {\n staticNodes = pureStaticNodes = keysNodes = [];\n ({ instanceNodes, wrapClass } = buildDecoratedClass(\n ref,\n path,\n elements,\n file,\n ));\n } else {\n keysNodes = extractComputedKeys(path, computedPaths, file);\n ({ staticNodes, pureStaticNodes, instanceNodes, wrapClass } =\n buildFieldsInitNodes(\n ref,\n path.node.superClass,\n props,\n privateNamesMap,\n file,\n setPublicClassFields ?? loose,\n privateFieldsAsSymbolsOrProperties ?? loose,\n constantSuper ?? loose,\n innerBinding,\n ));\n }\n } else {\n keysNodes = extractComputedKeys(path, computedPaths, file);\n ({ staticNodes, pureStaticNodes, instanceNodes, wrapClass } =\n buildFieldsInitNodes(\n ref,\n path.node.superClass,\n props,\n privateNamesMap,\n file,\n setPublicClassFields ?? loose,\n privateFieldsAsSymbolsOrProperties ?? loose,\n constantSuper ?? loose,\n innerBinding,\n ));\n }\n\n if (instanceNodes.length > 0) {\n injectInitialization(\n path,\n constructor,\n instanceNodes,\n (referenceVisitor, state) => {\n if (!process.env.BABEL_8_BREAKING) {\n if (isDecorated) return;\n }\n for (const prop of props) {\n // @ts-expect-error: TS doesn't infer that prop.node is not a StaticBlock\n if (t.isStaticBlock?.(prop.node) || prop.node.static) continue;\n prop.traverse(referenceVisitor, state);\n }\n },\n );\n }\n\n // rename to make ts happy\n const wrappedPath = wrapClass(path);\n wrappedPath.insertBefore([...privateNamesNodes, ...keysNodes]);\n if (staticNodes.length > 0) {\n wrappedPath.insertAfter(staticNodes);\n }\n if (pureStaticNodes.length > 0) {\n wrappedPath\n .find(parent => parent.isStatement() || parent.isDeclaration())\n .insertAfter(pureStaticNodes);\n }\n },\n\n ExportDefaultDeclaration(path, { file }) {\n if (!process.env.BABEL_8_BREAKING) {\n if (file.get(versionKey) !== PACKAGE_JSON.version) return;\n\n const decl = path.get(\"declaration\");\n\n if (decl.isClassDeclaration() && hasDecorators(decl.node)) {\n if (decl.node.id) {\n // export default class Foo {}\n // -->\n // class Foo {} export { Foo as default }\n splitExportDeclaration(path);\n } else {\n // @ts-expect-error Anonymous class declarations can be\n // transformed as if they were expressions\n decl.node.type = \"ClassExpression\";\n }\n }\n }\n },\n },\n };\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/helper-create-class-features-plugin/lib/misc.js.map b/node_modules/@babel/helper-create-class-features-plugin/lib/misc.js.map index ce4767d32..86ee193b7 100644 --- a/node_modules/@babel/helper-create-class-features-plugin/lib/misc.js.map +++ b/node_modules/@babel/helper-create-class-features-plugin/lib/misc.js.map @@ -1 +1 @@ -{"version":3,"names":["_core","require","_helperEnvironmentVisitor","findBareSupers","traverse","visitors","merge","Super","path","node","parentPath","isCallExpression","callee","push","environmentVisitor","referenceVisitor","TSTypeAnnotation|TypeAnnotation","skip","ReferencedIdentifier","scope","hasOwnBinding","name","rename","handleClassTDZ","state","classBinding","getBinding","classNameTDZError","file","addHelper","throwNode","t","callExpression","stringLiteral","replaceWith","sequenceExpression","classFieldDefinitionEvaluationTDZVisitor","injectInitialization","constructor","nodes","renamer","length","isDerived","superClass","newConstructor","classMethod","identifier","blockStatement","params","restElement","body","template","statement","ast","get","unshiftContainer","bareSupers","isFirst","bareSuper","insertAfter","map","n","cloneNode","extractComputedKeys","computedPaths","declarations","id","computedPath","computedKey","isReferencedIdentifier","computedNode","isConstantExpression","ident","generateUidIdentifierBasedOnNode","key","kind","expressionStatement","assignmentExpression"],"sources":["../src/misc.ts"],"sourcesContent":["import { template, traverse, types as t } from \"@babel/core\";\nimport type { File } from \"@babel/core\";\nimport type { NodePath, Scope, Visitor, Binding } from \"@babel/traverse\";\nimport environmentVisitor from \"@babel/helper-environment-visitor\";\n\nconst findBareSupers = traverse.visitors.merge[]>([\n {\n Super(path) {\n const { node, parentPath } = path;\n if (parentPath.isCallExpression({ callee: node })) {\n this.push(parentPath);\n }\n },\n },\n environmentVisitor,\n]);\n\nconst referenceVisitor: Visitor<{ scope: Scope }> = {\n \"TSTypeAnnotation|TypeAnnotation\"(\n path: NodePath,\n ) {\n path.skip();\n },\n\n ReferencedIdentifier(path: NodePath, { scope }) {\n if (scope.hasOwnBinding(path.node.name)) {\n scope.rename(path.node.name);\n path.skip();\n }\n },\n};\n\ntype HandleClassTDZState = {\n classBinding: Binding;\n file: File;\n};\n\nfunction handleClassTDZ(\n path: NodePath,\n state: HandleClassTDZState,\n) {\n if (\n state.classBinding &&\n state.classBinding === path.scope.getBinding(path.node.name)\n ) {\n const classNameTDZError = state.file.addHelper(\"classNameTDZError\");\n const throwNode = t.callExpression(classNameTDZError, [\n t.stringLiteral(path.node.name),\n ]);\n\n path.replaceWith(t.sequenceExpression([throwNode, path.node]));\n path.skip();\n }\n}\n\nconst classFieldDefinitionEvaluationTDZVisitor: Visitor = {\n ReferencedIdentifier: handleClassTDZ,\n};\n\ninterface RenamerState {\n scope: Scope;\n}\n\nexport function injectInitialization(\n path: NodePath,\n constructor: NodePath | undefined,\n nodes: t.Statement[],\n renamer?: (visitor: Visitor, state: RenamerState) => void,\n) {\n if (!nodes.length) return;\n\n const isDerived = !!path.node.superClass;\n\n if (!constructor) {\n const newConstructor = t.classMethod(\n \"constructor\",\n t.identifier(\"constructor\"),\n [],\n t.blockStatement([]),\n );\n\n if (isDerived) {\n newConstructor.params = [t.restElement(t.identifier(\"args\"))];\n newConstructor.body.body.push(template.statement.ast`super(...args)`);\n }\n\n [constructor] = path\n .get(\"body\")\n .unshiftContainer(\"body\", newConstructor) as NodePath[];\n }\n\n if (renamer) {\n renamer(referenceVisitor, { scope: constructor.scope });\n }\n\n if (isDerived) {\n const bareSupers: NodePath[] = [];\n constructor.traverse(findBareSupers, bareSupers);\n let isFirst = true;\n for (const bareSuper of bareSupers) {\n if (isFirst) {\n bareSuper.insertAfter(nodes);\n isFirst = false;\n } else {\n bareSuper.insertAfter(nodes.map(n => t.cloneNode(n)));\n }\n }\n } else {\n constructor.get(\"body\").unshiftContainer(\"body\", nodes);\n }\n}\n\nexport function extractComputedKeys(\n path: NodePath,\n computedPaths: NodePath[],\n file: File,\n) {\n const declarations: t.ExpressionStatement[] = [];\n const state = {\n classBinding: path.node.id && path.scope.getBinding(path.node.id.name),\n file,\n };\n for (const computedPath of computedPaths) {\n const computedKey = computedPath.get(\"key\");\n if (computedKey.isReferencedIdentifier()) {\n handleClassTDZ(computedKey, state);\n } else {\n computedKey.traverse(classFieldDefinitionEvaluationTDZVisitor, state);\n }\n\n const computedNode = computedPath.node;\n // Make sure computed property names are only evaluated once (upon class definition)\n // and in the right order in combination with static properties\n if (!computedKey.isConstantExpression()) {\n const ident = path.scope.generateUidIdentifierBasedOnNode(\n computedNode.key,\n );\n // Declaring in the same block scope\n // Ref: https://github.com/babel/babel/pull/10029/files#diff-fbbdd83e7a9c998721c1484529c2ce92\n path.scope.push({\n id: ident,\n kind: \"let\",\n });\n declarations.push(\n t.expressionStatement(\n t.assignmentExpression(\"=\", t.cloneNode(ident), computedNode.key),\n ),\n );\n computedNode.key = t.cloneNode(ident);\n }\n }\n\n return declarations;\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_core","require","_helperEnvironmentVisitor","findBareSupers","traverse","visitors","merge","Super","path","node","parentPath","isCallExpression","callee","push","environmentVisitor","referenceVisitor","TSTypeAnnotation|TypeAnnotation","skip","ReferencedIdentifier","scope","hasOwnBinding","name","rename","handleClassTDZ","state","classBinding","getBinding","classNameTDZError","file","addHelper","throwNode","t","callExpression","stringLiteral","replaceWith","sequenceExpression","classFieldDefinitionEvaluationTDZVisitor","injectInitialization","constructor","nodes","renamer","length","isDerived","superClass","newConstructor","classMethod","identifier","blockStatement","params","restElement","body","template","statement","ast","get","unshiftContainer","bareSupers","isFirst","bareSuper","insertAfter","map","n","cloneNode","extractComputedKeys","computedPaths","declarations","id","computedPath","computedKey","isReferencedIdentifier","computedNode","isConstantExpression","ident","generateUidIdentifierBasedOnNode","key","kind","expressionStatement","assignmentExpression"],"sources":["../src/misc.ts"],"sourcesContent":["import { template, traverse, types as t } from \"@babel/core\";\nimport type { File } from \"@babel/core\";\nimport type { NodePath, Scope, Visitor, Binding } from \"@babel/traverse\";\nimport environmentVisitor from \"@babel/helper-environment-visitor\";\n\nconst findBareSupers = traverse.visitors.merge[]>([\n {\n Super(path) {\n const { node, parentPath } = path;\n if (parentPath.isCallExpression({ callee: node })) {\n this.push(parentPath);\n }\n },\n },\n environmentVisitor,\n]);\n\nconst referenceVisitor: Visitor<{ scope: Scope }> = {\n \"TSTypeAnnotation|TypeAnnotation\"(\n path: NodePath,\n ) {\n path.skip();\n },\n\n ReferencedIdentifier(path: NodePath, { scope }) {\n if (scope.hasOwnBinding(path.node.name)) {\n scope.rename(path.node.name);\n path.skip();\n }\n },\n};\n\ntype HandleClassTDZState = {\n classBinding: Binding;\n file: File;\n};\n\nfunction handleClassTDZ(\n path: NodePath,\n state: HandleClassTDZState,\n) {\n if (\n state.classBinding &&\n state.classBinding === path.scope.getBinding(path.node.name)\n ) {\n const classNameTDZError = state.file.addHelper(\"classNameTDZError\");\n const throwNode = t.callExpression(classNameTDZError, [\n t.stringLiteral(path.node.name),\n ]);\n\n path.replaceWith(t.sequenceExpression([throwNode, path.node]));\n path.skip();\n }\n}\n\nconst classFieldDefinitionEvaluationTDZVisitor: Visitor = {\n ReferencedIdentifier: handleClassTDZ,\n};\n\ninterface RenamerState {\n scope: Scope;\n}\n\nexport function injectInitialization(\n path: NodePath,\n constructor: NodePath | undefined,\n nodes: t.Statement[],\n renamer?: (visitor: Visitor, state: RenamerState) => void,\n) {\n if (!nodes.length) return;\n\n const isDerived = !!path.node.superClass;\n\n if (!constructor) {\n const newConstructor = t.classMethod(\n \"constructor\",\n t.identifier(\"constructor\"),\n [],\n t.blockStatement([]),\n );\n\n if (isDerived) {\n newConstructor.params = [t.restElement(t.identifier(\"args\"))];\n newConstructor.body.body.push(template.statement.ast`super(...args)`);\n }\n\n [constructor] = path\n .get(\"body\")\n .unshiftContainer(\"body\", newConstructor) as NodePath[];\n }\n\n if (renamer) {\n renamer(referenceVisitor, { scope: constructor.scope });\n }\n\n if (isDerived) {\n const bareSupers: NodePath[] = [];\n constructor.traverse(findBareSupers, bareSupers);\n let isFirst = true;\n for (const bareSuper of bareSupers) {\n if (isFirst) {\n bareSuper.insertAfter(nodes);\n isFirst = false;\n } else {\n bareSuper.insertAfter(nodes.map(n => t.cloneNode(n)));\n }\n }\n } else {\n constructor.get(\"body\").unshiftContainer(\"body\", nodes);\n }\n}\n\nexport function extractComputedKeys(\n path: NodePath,\n computedPaths: NodePath[],\n file: File,\n) {\n const declarations: t.ExpressionStatement[] = [];\n const state = {\n classBinding: path.node.id && path.scope.getBinding(path.node.id.name),\n file,\n };\n for (const computedPath of computedPaths) {\n const computedKey = computedPath.get(\"key\");\n if (computedKey.isReferencedIdentifier()) {\n handleClassTDZ(computedKey, state);\n } else {\n computedKey.traverse(classFieldDefinitionEvaluationTDZVisitor, state);\n }\n\n const computedNode = computedPath.node;\n // Make sure computed property names are only evaluated once (upon class definition)\n // and in the right order in combination with static properties\n if (!computedKey.isConstantExpression()) {\n const ident = path.scope.generateUidIdentifierBasedOnNode(\n computedNode.key,\n );\n // Declaring in the same block scope\n // Ref: https://github.com/babel/babel/pull/10029/files#diff-fbbdd83e7a9c998721c1484529c2ce92\n path.scope.push({\n id: ident,\n kind: \"let\",\n });\n declarations.push(\n t.expressionStatement(\n t.assignmentExpression(\"=\", t.cloneNode(ident), computedNode.key),\n ),\n );\n computedNode.key = t.cloneNode(ident);\n }\n }\n\n return declarations;\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/helper-create-class-features-plugin/lib/typescript.js b/node_modules/@babel/helper-create-class-features-plugin/lib/typescript.js index 0abe69208..e68d5de83 100644 --- a/node_modules/@babel/helper-create-class-features-plugin/lib/typescript.js +++ b/node_modules/@babel/helper-create-class-features-plugin/lib/typescript.js @@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", { }); exports.assertFieldTransformed = assertFieldTransformed; function assertFieldTransformed(path) { - if (path.node.declare) { - throw path.buildCodeFrameError(`TypeScript 'declare' fields must first be transformed by ` + `@babel/plugin-transform-typescript.\n` + `If you have already enabled that plugin (or '@babel/preset-typescript'), make sure ` + `that it runs before any plugin related to additional class features:\n` + ` - @babel/plugin-proposal-class-properties\n` + ` - @babel/plugin-proposal-private-methods\n` + ` - @babel/plugin-proposal-decorators`); + if (path.node.declare || false) { + throw path.buildCodeFrameError(`TypeScript 'declare' fields must first be transformed by ` + `@babel/plugin-transform-typescript.\n` + `If you have already enabled that plugin (or '@babel/preset-typescript'), make sure ` + `that it runs before any plugin related to additional class features:\n` + ` - @babel/plugin-transform-class-properties\n` + ` - @babel/plugin-transform-private-methods\n` + ` - @babel/plugin-proposal-decorators`); } } diff --git a/node_modules/@babel/helper-create-class-features-plugin/lib/typescript.js.map b/node_modules/@babel/helper-create-class-features-plugin/lib/typescript.js.map index 6666cb7f1..f8bda420a 100644 --- a/node_modules/@babel/helper-create-class-features-plugin/lib/typescript.js.map +++ b/node_modules/@babel/helper-create-class-features-plugin/lib/typescript.js.map @@ -1 +1 @@ -{"version":3,"names":["assertFieldTransformed","path","node","declare","buildCodeFrameError"],"sources":["../src/typescript.ts"],"sourcesContent":["import type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\n\nexport function assertFieldTransformed(\n path: NodePath,\n) {\n // TODO (Babel 8): Also check path.node.definite\n\n if (path.node.declare) {\n throw path.buildCodeFrameError(\n `TypeScript 'declare' fields must first be transformed by ` +\n `@babel/plugin-transform-typescript.\\n` +\n `If you have already enabled that plugin (or '@babel/preset-typescript'), make sure ` +\n `that it runs before any plugin related to additional class features:\\n` +\n ` - @babel/plugin-proposal-class-properties\\n` +\n ` - @babel/plugin-proposal-private-methods\\n` +\n ` - @babel/plugin-proposal-decorators`,\n );\n }\n}\n"],"mappings":";;;;;;AAGO,SAASA,sBAAsBA,CACpCC,IAAoD,EACpD;EAGA,IAAIA,IAAI,CAACC,IAAI,CAACC,OAAO,EAAE;IACrB,MAAMF,IAAI,CAACG,mBAAmB,CAC3B,2DAA0D,GACxD,uCAAsC,GACtC,qFAAoF,GACpF,wEAAuE,GACvE,8CAA6C,GAC7C,6CAA4C,GAC5C,sCAAqC,CACzC;EACH;AACF"} \ No newline at end of file +{"version":3,"names":["assertFieldTransformed","path","node","declare","buildCodeFrameError"],"sources":["../src/typescript.ts"],"sourcesContent":["import type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\n\nexport function assertFieldTransformed(\n path: NodePath,\n) {\n if (\n path.node.declare ||\n (process.env.BABEL_8_BREAKING\n ? path.isClassProperty({ definite: true })\n : false)\n ) {\n throw path.buildCodeFrameError(\n `TypeScript 'declare' fields must first be transformed by ` +\n `@babel/plugin-transform-typescript.\\n` +\n `If you have already enabled that plugin (or '@babel/preset-typescript'), make sure ` +\n `that it runs before any plugin related to additional class features:\\n` +\n ` - @babel/plugin-transform-class-properties\\n` +\n ` - @babel/plugin-transform-private-methods\\n` +\n ` - @babel/plugin-proposal-decorators`,\n );\n }\n}\n"],"mappings":";;;;;;AAGO,SAASA,sBAAsBA,CACpCC,IAAoD,EACpD;EACA,IACEA,IAAI,CAACC,IAAI,CAACC,OAAO,IAGb,KAAM,EACV;IACA,MAAMF,IAAI,CAACG,mBAAmB,CAC3B,2DAA0D,GACxD,uCAAsC,GACtC,qFAAoF,GACpF,wEAAuE,GACvE,+CAA8C,GAC9C,8CAA6C,GAC7C,sCACL,CAAC;EACH;AACF"} \ No newline at end of file diff --git a/node_modules/@babel/helper-create-class-features-plugin/node_modules/.bin/semver b/node_modules/@babel/helper-create-class-features-plugin/node_modules/.bin/semver new file mode 120000 index 000000000..5aaadf42c --- /dev/null +++ b/node_modules/@babel/helper-create-class-features-plugin/node_modules/.bin/semver @@ -0,0 +1 @@ +../semver/bin/semver.js \ No newline at end of file diff --git a/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/CHANGELOG.md b/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/CHANGELOG.md new file mode 100644 index 000000000..f567dd3fe --- /dev/null +++ b/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/CHANGELOG.md @@ -0,0 +1,70 @@ +# changes log + +## 6.2.0 + +* Coerce numbers to strings when passed to semver.coerce() +* Add `rtl` option to coerce from right to left + +## 6.1.3 + +* Handle X-ranges properly in includePrerelease mode + +## 6.1.2 + +* Do not throw when testing invalid version strings + +## 6.1.1 + +* Add options support for semver.coerce() +* Handle undefined version passed to Range.test + +## 6.1.0 + +* Add semver.compareBuild function +* Support `*` in semver.intersects + +## 6.0 + +* Fix `intersects` logic. + + This is technically a bug fix, but since it is also a change to behavior + that may require users updating their code, it is marked as a major + version increment. + +## 5.7 + +* Add `minVersion` method + +## 5.6 + +* Move boolean `loose` param to an options object, with + backwards-compatibility protection. +* Add ability to opt out of special prerelease version handling with + the `includePrerelease` option flag. + +## 5.5 + +* Add version coercion capabilities + +## 5.4 + +* Add intersection checking + +## 5.3 + +* Add `minSatisfying` method + +## 5.2 + +* Add `prerelease(v)` that returns prerelease components + +## 5.1 + +* Add Backus-Naur for ranges +* Remove excessively cute inspection methods + +## 5.0 + +* Remove AMD/Browserified build artifacts +* Fix ltr and gtr when using the `*` range +* Fix for range `*` with a prerelease identifier diff --git a/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/LICENSE b/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/LICENSE new file mode 100644 index 000000000..19129e315 --- /dev/null +++ b/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/README.md b/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/README.md new file mode 100644 index 000000000..2293a14fd --- /dev/null +++ b/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/README.md @@ -0,0 +1,443 @@ +semver(1) -- The semantic versioner for npm +=========================================== + +## Install + +```bash +npm install semver +```` + +## Usage + +As a node module: + +```js +const semver = require('semver') + +semver.valid('1.2.3') // '1.2.3' +semver.valid('a.b.c') // null +semver.clean(' =v1.2.3 ') // '1.2.3' +semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true +semver.gt('1.2.3', '9.8.7') // false +semver.lt('1.2.3', '9.8.7') // true +semver.minVersion('>=1.0.0') // '1.0.0' +semver.valid(semver.coerce('v2')) // '2.0.0' +semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7' +``` + +As a command-line utility: + +``` +$ semver -h + +A JavaScript implementation of the https://semver.org/ specification +Copyright Isaac Z. Schlueter + +Usage: semver [options] [ [...]] +Prints valid versions sorted by SemVer precedence + +Options: +-r --range + Print versions that match the specified range. + +-i --increment [] + Increment a version by the specified level. Level can + be one of: major, minor, patch, premajor, preminor, + prepatch, or prerelease. Default level is 'patch'. + Only one version may be specified. + +--preid + Identifier to be used to prefix premajor, preminor, + prepatch or prerelease version increments. + +-l --loose + Interpret versions and ranges loosely + +-p --include-prerelease + Always include prerelease versions in range matching + +-c --coerce + Coerce a string into SemVer if possible + (does not imply --loose) + +--rtl + Coerce version strings right to left + +--ltr + Coerce version strings left to right (default) + +Program exits successfully if any valid version satisfies +all supplied ranges, and prints all satisfying versions. + +If no satisfying versions are found, then exits failure. + +Versions are printed in ascending order, so supplying +multiple versions to the utility will just sort them. +``` + +## Versions + +A "version" is described by the `v2.0.0` specification found at +. + +A leading `"="` or `"v"` character is stripped off and ignored. + +## Ranges + +A `version range` is a set of `comparators` which specify versions +that satisfy the range. + +A `comparator` is composed of an `operator` and a `version`. The set +of primitive `operators` is: + +* `<` Less than +* `<=` Less than or equal to +* `>` Greater than +* `>=` Greater than or equal to +* `=` Equal. If no operator is specified, then equality is assumed, + so this operator is optional, but MAY be included. + +For example, the comparator `>=1.2.7` would match the versions +`1.2.7`, `1.2.8`, `2.5.3`, and `1.3.9`, but not the versions `1.2.6` +or `1.1.0`. + +Comparators can be joined by whitespace to form a `comparator set`, +which is satisfied by the **intersection** of all of the comparators +it includes. + +A range is composed of one or more comparator sets, joined by `||`. A +version matches a range if and only if every comparator in at least +one of the `||`-separated comparator sets is satisfied by the version. + +For example, the range `>=1.2.7 <1.3.0` would match the versions +`1.2.7`, `1.2.8`, and `1.2.99`, but not the versions `1.2.6`, `1.3.0`, +or `1.1.0`. + +The range `1.2.7 || >=1.2.9 <2.0.0` would match the versions `1.2.7`, +`1.2.9`, and `1.4.6`, but not the versions `1.2.8` or `2.0.0`. + +### Prerelease Tags + +If a version has a prerelease tag (for example, `1.2.3-alpha.3`) then +it will only be allowed to satisfy comparator sets if at least one +comparator with the same `[major, minor, patch]` tuple also has a +prerelease tag. + +For example, the range `>1.2.3-alpha.3` would be allowed to match the +version `1.2.3-alpha.7`, but it would *not* be satisfied by +`3.4.5-alpha.9`, even though `3.4.5-alpha.9` is technically "greater +than" `1.2.3-alpha.3` according to the SemVer sort rules. The version +range only accepts prerelease tags on the `1.2.3` version. The +version `3.4.5` *would* satisfy the range, because it does not have a +prerelease flag, and `3.4.5` is greater than `1.2.3-alpha.7`. + +The purpose for this behavior is twofold. First, prerelease versions +frequently are updated very quickly, and contain many breaking changes +that are (by the author's design) not yet fit for public consumption. +Therefore, by default, they are excluded from range matching +semantics. + +Second, a user who has opted into using a prerelease version has +clearly indicated the intent to use *that specific* set of +alpha/beta/rc versions. By including a prerelease tag in the range, +the user is indicating that they are aware of the risk. However, it +is still not appropriate to assume that they have opted into taking a +similar risk on the *next* set of prerelease versions. + +Note that this behavior can be suppressed (treating all prerelease +versions as if they were normal versions, for the purpose of range +matching) by setting the `includePrerelease` flag on the options +object to any +[functions](https://github.com/npm/node-semver#functions) that do +range matching. + +#### Prerelease Identifiers + +The method `.inc` takes an additional `identifier` string argument that +will append the value of the string as a prerelease identifier: + +```javascript +semver.inc('1.2.3', 'prerelease', 'beta') +// '1.2.4-beta.0' +``` + +command-line example: + +```bash +$ semver 1.2.3 -i prerelease --preid beta +1.2.4-beta.0 +``` + +Which then can be used to increment further: + +```bash +$ semver 1.2.4-beta.0 -i prerelease +1.2.4-beta.1 +``` + +### Advanced Range Syntax + +Advanced range syntax desugars to primitive comparators in +deterministic ways. + +Advanced ranges may be combined in the same way as primitive +comparators using white space or `||`. + +#### Hyphen Ranges `X.Y.Z - A.B.C` + +Specifies an inclusive set. + +* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4` + +If a partial version is provided as the first version in the inclusive +range, then the missing pieces are replaced with zeroes. + +* `1.2 - 2.3.4` := `>=1.2.0 <=2.3.4` + +If a partial version is provided as the second version in the +inclusive range, then all versions that start with the supplied parts +of the tuple are accepted, but nothing that would be greater than the +provided tuple parts. + +* `1.2.3 - 2.3` := `>=1.2.3 <2.4.0` +* `1.2.3 - 2` := `>=1.2.3 <3.0.0` + +#### X-Ranges `1.2.x` `1.X` `1.2.*` `*` + +Any of `X`, `x`, or `*` may be used to "stand in" for one of the +numeric values in the `[major, minor, patch]` tuple. + +* `*` := `>=0.0.0` (Any version satisfies) +* `1.x` := `>=1.0.0 <2.0.0` (Matching major version) +* `1.2.x` := `>=1.2.0 <1.3.0` (Matching major and minor versions) + +A partial version range is treated as an X-Range, so the special +character is in fact optional. + +* `""` (empty string) := `*` := `>=0.0.0` +* `1` := `1.x.x` := `>=1.0.0 <2.0.0` +* `1.2` := `1.2.x` := `>=1.2.0 <1.3.0` + +#### Tilde Ranges `~1.2.3` `~1.2` `~1` + +Allows patch-level changes if a minor version is specified on the +comparator. Allows minor-level changes if not. + +* `~1.2.3` := `>=1.2.3 <1.(2+1).0` := `>=1.2.3 <1.3.0` +* `~1.2` := `>=1.2.0 <1.(2+1).0` := `>=1.2.0 <1.3.0` (Same as `1.2.x`) +* `~1` := `>=1.0.0 <(1+1).0.0` := `>=1.0.0 <2.0.0` (Same as `1.x`) +* `~0.2.3` := `>=0.2.3 <0.(2+1).0` := `>=0.2.3 <0.3.0` +* `~0.2` := `>=0.2.0 <0.(2+1).0` := `>=0.2.0 <0.3.0` (Same as `0.2.x`) +* `~0` := `>=0.0.0 <(0+1).0.0` := `>=0.0.0 <1.0.0` (Same as `0.x`) +* `~1.2.3-beta.2` := `>=1.2.3-beta.2 <1.3.0` Note that prereleases in + the `1.2.3` version will be allowed, if they are greater than or + equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but + `1.2.4-beta.2` would not, because it is a prerelease of a + different `[major, minor, patch]` tuple. + +#### Caret Ranges `^1.2.3` `^0.2.5` `^0.0.4` + +Allows changes that do not modify the left-most non-zero element in the +`[major, minor, patch]` tuple. In other words, this allows patch and +minor updates for versions `1.0.0` and above, patch updates for +versions `0.X >=0.1.0`, and *no* updates for versions `0.0.X`. + +Many authors treat a `0.x` version as if the `x` were the major +"breaking-change" indicator. + +Caret ranges are ideal when an author may make breaking changes +between `0.2.4` and `0.3.0` releases, which is a common practice. +However, it presumes that there will *not* be breaking changes between +`0.2.4` and `0.2.5`. It allows for changes that are presumed to be +additive (but non-breaking), according to commonly observed practices. + +* `^1.2.3` := `>=1.2.3 <2.0.0` +* `^0.2.3` := `>=0.2.3 <0.3.0` +* `^0.0.3` := `>=0.0.3 <0.0.4` +* `^1.2.3-beta.2` := `>=1.2.3-beta.2 <2.0.0` Note that prereleases in + the `1.2.3` version will be allowed, if they are greater than or + equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but + `1.2.4-beta.2` would not, because it is a prerelease of a + different `[major, minor, patch]` tuple. +* `^0.0.3-beta` := `>=0.0.3-beta <0.0.4` Note that prereleases in the + `0.0.3` version *only* will be allowed, if they are greater than or + equal to `beta`. So, `0.0.3-pr.2` would be allowed. + +When parsing caret ranges, a missing `patch` value desugars to the +number `0`, but will allow flexibility within that value, even if the +major and minor versions are both `0`. + +* `^1.2.x` := `>=1.2.0 <2.0.0` +* `^0.0.x` := `>=0.0.0 <0.1.0` +* `^0.0` := `>=0.0.0 <0.1.0` + +A missing `minor` and `patch` values will desugar to zero, but also +allow flexibility within those values, even if the major version is +zero. + +* `^1.x` := `>=1.0.0 <2.0.0` +* `^0.x` := `>=0.0.0 <1.0.0` + +### Range Grammar + +Putting all this together, here is a Backus-Naur grammar for ranges, +for the benefit of parser authors: + +```bnf +range-set ::= range ( logical-or range ) * +logical-or ::= ( ' ' ) * '||' ( ' ' ) * +range ::= hyphen | simple ( ' ' simple ) * | '' +hyphen ::= partial ' - ' partial +simple ::= primitive | partial | tilde | caret +primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial +partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? +xr ::= 'x' | 'X' | '*' | nr +nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) * +tilde ::= '~' partial +caret ::= '^' partial +qualifier ::= ( '-' pre )? ( '+' build )? +pre ::= parts +build ::= parts +parts ::= part ( '.' part ) * +part ::= nr | [-0-9A-Za-z]+ +``` + +## Functions + +All methods and classes take a final `options` object argument. All +options in this object are `false` by default. The options supported +are: + +- `loose` Be more forgiving about not-quite-valid semver strings. + (Any resulting output will always be 100% strict compliant, of + course.) For backwards compatibility reasons, if the `options` + argument is a boolean value instead of an object, it is interpreted + to be the `loose` param. +- `includePrerelease` Set to suppress the [default + behavior](https://github.com/npm/node-semver#prerelease-tags) of + excluding prerelease tagged versions from ranges unless they are + explicitly opted into. + +Strict-mode Comparators and Ranges will be strict about the SemVer +strings that they parse. + +* `valid(v)`: Return the parsed version, or null if it's not valid. +* `inc(v, release)`: Return the version incremented by the release + type (`major`, `premajor`, `minor`, `preminor`, `patch`, + `prepatch`, or `prerelease`), or null if it's not valid + * `premajor` in one call will bump the version up to the next major + version and down to a prerelease of that major version. + `preminor`, and `prepatch` work the same way. + * If called from a non-prerelease version, the `prerelease` will work the + same as `prepatch`. It increments the patch version, then makes a + prerelease. If the input version is already a prerelease it simply + increments it. +* `prerelease(v)`: Returns an array of prerelease components, or null + if none exist. Example: `prerelease('1.2.3-alpha.1') -> ['alpha', 1]` +* `major(v)`: Return the major version number. +* `minor(v)`: Return the minor version number. +* `patch(v)`: Return the patch version number. +* `intersects(r1, r2, loose)`: Return true if the two supplied ranges + or comparators intersect. +* `parse(v)`: Attempt to parse a string as a semantic version, returning either + a `SemVer` object or `null`. + +### Comparison + +* `gt(v1, v2)`: `v1 > v2` +* `gte(v1, v2)`: `v1 >= v2` +* `lt(v1, v2)`: `v1 < v2` +* `lte(v1, v2)`: `v1 <= v2` +* `eq(v1, v2)`: `v1 == v2` This is true if they're logically equivalent, + even if they're not the exact same string. You already know how to + compare strings. +* `neq(v1, v2)`: `v1 != v2` The opposite of `eq`. +* `cmp(v1, comparator, v2)`: Pass in a comparison string, and it'll call + the corresponding function above. `"==="` and `"!=="` do simple + string comparison, but are included for completeness. Throws if an + invalid comparison string is provided. +* `compare(v1, v2)`: Return `0` if `v1 == v2`, or `1` if `v1` is greater, or `-1` if + `v2` is greater. Sorts in ascending order if passed to `Array.sort()`. +* `rcompare(v1, v2)`: The reverse of compare. Sorts an array of versions + in descending order when passed to `Array.sort()`. +* `compareBuild(v1, v2)`: The same as `compare` but considers `build` when two versions + are equal. Sorts in ascending order if passed to `Array.sort()`. + `v2` is greater. Sorts in ascending order if passed to `Array.sort()`. +* `diff(v1, v2)`: Returns difference between two versions by the release type + (`major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, or `prerelease`), + or null if the versions are the same. + +### Comparators + +* `intersects(comparator)`: Return true if the comparators intersect + +### Ranges + +* `validRange(range)`: Return the valid range or null if it's not valid +* `satisfies(version, range)`: Return true if the version satisfies the + range. +* `maxSatisfying(versions, range)`: Return the highest version in the list + that satisfies the range, or `null` if none of them do. +* `minSatisfying(versions, range)`: Return the lowest version in the list + that satisfies the range, or `null` if none of them do. +* `minVersion(range)`: Return the lowest version that can possibly match + the given range. +* `gtr(version, range)`: Return `true` if version is greater than all the + versions possible in the range. +* `ltr(version, range)`: Return `true` if version is less than all the + versions possible in the range. +* `outside(version, range, hilo)`: Return true if the version is outside + the bounds of the range in either the high or low direction. The + `hilo` argument must be either the string `'>'` or `'<'`. (This is + the function called by `gtr` and `ltr`.) +* `intersects(range)`: Return true if any of the ranges comparators intersect + +Note that, since ranges may be non-contiguous, a version might not be +greater than a range, less than a range, *or* satisfy a range! For +example, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9` +until `2.0.0`, so the version `1.2.10` would not be greater than the +range (because `2.0.1` satisfies, which is higher), nor less than the +range (since `1.2.8` satisfies, which is lower), and it also does not +satisfy the range. + +If you want to know if a version satisfies or does not satisfy a +range, use the `satisfies(version, range)` function. + +### Coercion + +* `coerce(version, options)`: Coerces a string to semver if possible + +This aims to provide a very forgiving translation of a non-semver string to +semver. It looks for the first digit in a string, and consumes all +remaining characters which satisfy at least a partial semver (e.g., `1`, +`1.2`, `1.2.3`) up to the max permitted length (256 characters). Longer +versions are simply truncated (`4.6.3.9.2-alpha2` becomes `4.6.3`). All +surrounding text is simply ignored (`v3.4 replaces v3.3.1` becomes +`3.4.0`). Only text which lacks digits will fail coercion (`version one` +is not valid). The maximum length for any semver component considered for +coercion is 16 characters; longer components will be ignored +(`10000000000000000.4.7.4` becomes `4.7.4`). The maximum value for any +semver component is `Integer.MAX_SAFE_INTEGER || (2**53 - 1)`; higher value +components are invalid (`9999999999999999.4.7.4` is likely invalid). + +If the `options.rtl` flag is set, then `coerce` will return the right-most +coercible tuple that does not share an ending index with a longer coercible +tuple. For example, `1.2.3.4` will return `2.3.4` in rtl mode, not +`4.0.0`. `1.2.3/4` will return `4.0.0`, because the `4` is not a part of +any other overlapping SemVer tuple. + +### Clean + +* `clean(version)`: Clean a string to be a valid semver if possible + +This will return a cleaned and trimmed semver version. If the provided version is not valid a null will be returned. This does not work for ranges. + +ex. +* `s.clean(' = v 2.1.5foo')`: `null` +* `s.clean(' = v 2.1.5foo', { loose: true })`: `'2.1.5-foo'` +* `s.clean(' = v 2.1.5-foo')`: `null` +* `s.clean(' = v 2.1.5-foo', { loose: true })`: `'2.1.5-foo'` +* `s.clean('=v2.1.5')`: `'2.1.5'` +* `s.clean(' =v2.1.5')`: `2.1.5` +* `s.clean(' 2.1.5 ')`: `'2.1.5'` +* `s.clean('~1.0.0')`: `null` diff --git a/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/bin/semver.js b/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/bin/semver.js new file mode 100755 index 000000000..666034a75 --- /dev/null +++ b/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/bin/semver.js @@ -0,0 +1,174 @@ +#!/usr/bin/env node +// Standalone semver comparison program. +// Exits successfully and prints matching version(s) if +// any supplied version is valid and passes all tests. + +var argv = process.argv.slice(2) + +var versions = [] + +var range = [] + +var inc = null + +var version = require('../package.json').version + +var loose = false + +var includePrerelease = false + +var coerce = false + +var rtl = false + +var identifier + +var semver = require('../semver') + +var reverse = false + +var options = {} + +main() + +function main () { + if (!argv.length) return help() + while (argv.length) { + var a = argv.shift() + var indexOfEqualSign = a.indexOf('=') + if (indexOfEqualSign !== -1) { + a = a.slice(0, indexOfEqualSign) + argv.unshift(a.slice(indexOfEqualSign + 1)) + } + switch (a) { + case '-rv': case '-rev': case '--rev': case '--reverse': + reverse = true + break + case '-l': case '--loose': + loose = true + break + case '-p': case '--include-prerelease': + includePrerelease = true + break + case '-v': case '--version': + versions.push(argv.shift()) + break + case '-i': case '--inc': case '--increment': + switch (argv[0]) { + case 'major': case 'minor': case 'patch': case 'prerelease': + case 'premajor': case 'preminor': case 'prepatch': + inc = argv.shift() + break + default: + inc = 'patch' + break + } + break + case '--preid': + identifier = argv.shift() + break + case '-r': case '--range': + range.push(argv.shift()) + break + case '-c': case '--coerce': + coerce = true + break + case '--rtl': + rtl = true + break + case '--ltr': + rtl = false + break + case '-h': case '--help': case '-?': + return help() + default: + versions.push(a) + break + } + } + + var options = { loose: loose, includePrerelease: includePrerelease, rtl: rtl } + + versions = versions.map(function (v) { + return coerce ? (semver.coerce(v, options) || { version: v }).version : v + }).filter(function (v) { + return semver.valid(v) + }) + if (!versions.length) return fail() + if (inc && (versions.length !== 1 || range.length)) { return failInc() } + + for (var i = 0, l = range.length; i < l; i++) { + versions = versions.filter(function (v) { + return semver.satisfies(v, range[i], options) + }) + if (!versions.length) return fail() + } + return success(versions) +} + +function failInc () { + console.error('--inc can only be used on a single version with no range') + fail() +} + +function fail () { process.exit(1) } + +function success () { + var compare = reverse ? 'rcompare' : 'compare' + versions.sort(function (a, b) { + return semver[compare](a, b, options) + }).map(function (v) { + return semver.clean(v, options) + }).map(function (v) { + return inc ? semver.inc(v, inc, options, identifier) : v + }).forEach(function (v, i, _) { console.log(v) }) +} + +function help () { + console.log(['SemVer ' + version, + '', + 'A JavaScript implementation of the https://semver.org/ specification', + 'Copyright Isaac Z. Schlueter', + '', + 'Usage: semver [options] [ [...]]', + 'Prints valid versions sorted by SemVer precedence', + '', + 'Options:', + '-r --range ', + ' Print versions that match the specified range.', + '', + '-i --increment []', + ' Increment a version by the specified level. Level can', + ' be one of: major, minor, patch, premajor, preminor,', + " prepatch, or prerelease. Default level is 'patch'.", + ' Only one version may be specified.', + '', + '--preid ', + ' Identifier to be used to prefix premajor, preminor,', + ' prepatch or prerelease version increments.', + '', + '-l --loose', + ' Interpret versions and ranges loosely', + '', + '-p --include-prerelease', + ' Always include prerelease versions in range matching', + '', + '-c --coerce', + ' Coerce a string into SemVer if possible', + ' (does not imply --loose)', + '', + '--rtl', + ' Coerce version strings right to left', + '', + '--ltr', + ' Coerce version strings left to right (default)', + '', + 'Program exits successfully if any valid version satisfies', + 'all supplied ranges, and prints all satisfying versions.', + '', + 'If no satisfying versions are found, then exits failure.', + '', + 'Versions are printed in ascending order, so supplying', + 'multiple versions to the utility will just sort them.' + ].join('\n')) +} diff --git a/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/package.json b/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/package.json new file mode 100644 index 000000000..bdd442f50 --- /dev/null +++ b/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/package.json @@ -0,0 +1,28 @@ +{ + "name": "semver", + "version": "6.3.0", + "description": "The semantic version parser used by npm.", + "main": "semver.js", + "scripts": { + "test": "tap", + "preversion": "npm test", + "postversion": "npm publish", + "postpublish": "git push origin --follow-tags" + }, + "devDependencies": { + "tap": "^14.3.1" + }, + "license": "ISC", + "repository": "https://github.com/npm/node-semver", + "bin": { + "semver": "./bin/semver.js" + }, + "files": [ + "bin", + "range.bnf", + "semver.js" + ], + "tap": { + "check-coverage": true + } +} diff --git a/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/range.bnf b/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/range.bnf new file mode 100644 index 000000000..d4c6ae0d7 --- /dev/null +++ b/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/range.bnf @@ -0,0 +1,16 @@ +range-set ::= range ( logical-or range ) * +logical-or ::= ( ' ' ) * '||' ( ' ' ) * +range ::= hyphen | simple ( ' ' simple ) * | '' +hyphen ::= partial ' - ' partial +simple ::= primitive | partial | tilde | caret +primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial +partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? +xr ::= 'x' | 'X' | '*' | nr +nr ::= '0' | [1-9] ( [0-9] ) * +tilde ::= '~' partial +caret ::= '^' partial +qualifier ::= ( '-' pre )? ( '+' build )? +pre ::= parts +build ::= parts +parts ::= part ( '.' part ) * +part ::= nr | [-0-9A-Za-z]+ diff --git a/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/semver.js b/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/semver.js new file mode 100644 index 000000000..636fa4365 --- /dev/null +++ b/node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/semver.js @@ -0,0 +1,1596 @@ +exports = module.exports = SemVer + +var debug +/* istanbul ignore next */ +if (typeof process === 'object' && + process.env && + process.env.NODE_DEBUG && + /\bsemver\b/i.test(process.env.NODE_DEBUG)) { + debug = function () { + var args = Array.prototype.slice.call(arguments, 0) + args.unshift('SEMVER') + console.log.apply(console, args) + } +} else { + debug = function () {} +} + +// Note: this is the semver.org version of the spec that it implements +// Not necessarily the package version of this code. +exports.SEMVER_SPEC_VERSION = '2.0.0' + +var MAX_LENGTH = 256 +var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || + /* istanbul ignore next */ 9007199254740991 + +// Max safe segment length for coercion. +var MAX_SAFE_COMPONENT_LENGTH = 16 + +// The actual regexps go on exports.re +var re = exports.re = [] +var src = exports.src = [] +var t = exports.tokens = {} +var R = 0 + +function tok (n) { + t[n] = R++ +} + +// The following Regular Expressions can be used for tokenizing, +// validating, and parsing SemVer version strings. + +// ## Numeric Identifier +// A single `0`, or a non-zero digit followed by zero or more digits. + +tok('NUMERICIDENTIFIER') +src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*' +tok('NUMERICIDENTIFIERLOOSE') +src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+' + +// ## Non-numeric Identifier +// Zero or more digits, followed by a letter or hyphen, and then zero or +// more letters, digits, or hyphens. + +tok('NONNUMERICIDENTIFIER') +src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*' + +// ## Main Version +// Three dot-separated numeric identifiers. + +tok('MAINVERSION') +src[t.MAINVERSION] = '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + + '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + + '(' + src[t.NUMERICIDENTIFIER] + ')' + +tok('MAINVERSIONLOOSE') +src[t.MAINVERSIONLOOSE] = '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')' + +// ## Pre-release Version Identifier +// A numeric identifier, or a non-numeric identifier. + +tok('PRERELEASEIDENTIFIER') +src[t.PRERELEASEIDENTIFIER] = '(?:' + src[t.NUMERICIDENTIFIER] + + '|' + src[t.NONNUMERICIDENTIFIER] + ')' + +tok('PRERELEASEIDENTIFIERLOOSE') +src[t.PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[t.NUMERICIDENTIFIERLOOSE] + + '|' + src[t.NONNUMERICIDENTIFIER] + ')' + +// ## Pre-release Version +// Hyphen, followed by one or more dot-separated pre-release version +// identifiers. + +tok('PRERELEASE') +src[t.PRERELEASE] = '(?:-(' + src[t.PRERELEASEIDENTIFIER] + + '(?:\\.' + src[t.PRERELEASEIDENTIFIER] + ')*))' + +tok('PRERELEASELOOSE') +src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] + + '(?:\\.' + src[t.PRERELEASEIDENTIFIERLOOSE] + ')*))' + +// ## Build Metadata Identifier +// Any combination of digits, letters, or hyphens. + +tok('BUILDIDENTIFIER') +src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+' + +// ## Build Metadata +// Plus sign, followed by one or more period-separated build metadata +// identifiers. + +tok('BUILD') +src[t.BUILD] = '(?:\\+(' + src[t.BUILDIDENTIFIER] + + '(?:\\.' + src[t.BUILDIDENTIFIER] + ')*))' + +// ## Full Version String +// A main version, followed optionally by a pre-release version and +// build metadata. + +// Note that the only major, minor, patch, and pre-release sections of +// the version string are capturing groups. The build metadata is not a +// capturing group, because it should not ever be used in version +// comparison. + +tok('FULL') +tok('FULLPLAIN') +src[t.FULLPLAIN] = 'v?' + src[t.MAINVERSION] + + src[t.PRERELEASE] + '?' + + src[t.BUILD] + '?' + +src[t.FULL] = '^' + src[t.FULLPLAIN] + '$' + +// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. +// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty +// common in the npm registry. +tok('LOOSEPLAIN') +src[t.LOOSEPLAIN] = '[v=\\s]*' + src[t.MAINVERSIONLOOSE] + + src[t.PRERELEASELOOSE] + '?' + + src[t.BUILD] + '?' + +tok('LOOSE') +src[t.LOOSE] = '^' + src[t.LOOSEPLAIN] + '$' + +tok('GTLT') +src[t.GTLT] = '((?:<|>)?=?)' + +// Something like "2.*" or "1.2.x". +// Note that "x.x" is a valid xRange identifer, meaning "any version" +// Only the first item is strictly required. +tok('XRANGEIDENTIFIERLOOSE') +src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + '|x|X|\\*' +tok('XRANGEIDENTIFIER') +src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + '|x|X|\\*' + +tok('XRANGEPLAIN') +src[t.XRANGEPLAIN] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIER] + ')' + + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + + '(?:' + src[t.PRERELEASE] + ')?' + + src[t.BUILD] + '?' + + ')?)?' + +tok('XRANGEPLAINLOOSE') +src[t.XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + + '(?:' + src[t.PRERELEASELOOSE] + ')?' + + src[t.BUILD] + '?' + + ')?)?' + +tok('XRANGE') +src[t.XRANGE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAIN] + '$' +tok('XRANGELOOSE') +src[t.XRANGELOOSE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAINLOOSE] + '$' + +// Coercion. +// Extract anything that could conceivably be a part of a valid semver +tok('COERCE') +src[t.COERCE] = '(^|[^\\d])' + + '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + + '(?:$|[^\\d])' +tok('COERCERTL') +re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g') + +// Tilde ranges. +// Meaning is "reasonably at or greater than" +tok('LONETILDE') +src[t.LONETILDE] = '(?:~>?)' + +tok('TILDETRIM') +src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+' +re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g') +var tildeTrimReplace = '$1~' + +tok('TILDE') +src[t.TILDE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAIN] + '$' +tok('TILDELOOSE') +src[t.TILDELOOSE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + '$' + +// Caret ranges. +// Meaning is "at least and backwards compatible with" +tok('LONECARET') +src[t.LONECARET] = '(?:\\^)' + +tok('CARETTRIM') +src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+' +re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g') +var caretTrimReplace = '$1^' + +tok('CARET') +src[t.CARET] = '^' + src[t.LONECARET] + src[t.XRANGEPLAIN] + '$' +tok('CARETLOOSE') +src[t.CARETLOOSE] = '^' + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + '$' + +// A simple gt/lt/eq thing, or just "" to indicate "any version" +tok('COMPARATORLOOSE') +src[t.COMPARATORLOOSE] = '^' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + ')$|^$' +tok('COMPARATOR') +src[t.COMPARATOR] = '^' + src[t.GTLT] + '\\s*(' + src[t.FULLPLAIN] + ')$|^$' + +// An expression to strip any whitespace between the gtlt and the thing +// it modifies, so that `> 1.2.3` ==> `>1.2.3` +tok('COMPARATORTRIM') +src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] + + '\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')' + +// this one has to use the /g flag +re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g') +var comparatorTrimReplace = '$1$2$3' + +// Something like `1.2.3 - 1.2.4` +// Note that these all use the loose form, because they'll be +// checked against either the strict or loose comparator form +// later. +tok('HYPHENRANGE') +src[t.HYPHENRANGE] = '^\\s*(' + src[t.XRANGEPLAIN] + ')' + + '\\s+-\\s+' + + '(' + src[t.XRANGEPLAIN] + ')' + + '\\s*$' + +tok('HYPHENRANGELOOSE') +src[t.HYPHENRANGELOOSE] = '^\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' + + '\\s+-\\s+' + + '(' + src[t.XRANGEPLAINLOOSE] + ')' + + '\\s*$' + +// Star ranges basically just allow anything at all. +tok('STAR') +src[t.STAR] = '(<|>)?=?\\s*\\*' + +// Compile to actual regexp objects. +// All are flag-free, unless they were created above with a flag. +for (var i = 0; i < R; i++) { + debug(i, src[i]) + if (!re[i]) { + re[i] = new RegExp(src[i]) + } +} + +exports.parse = parse +function parse (version, options) { + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + + if (version instanceof SemVer) { + return version + } + + if (typeof version !== 'string') { + return null + } + + if (version.length > MAX_LENGTH) { + return null + } + + var r = options.loose ? re[t.LOOSE] : re[t.FULL] + if (!r.test(version)) { + return null + } + + try { + return new SemVer(version, options) + } catch (er) { + return null + } +} + +exports.valid = valid +function valid (version, options) { + var v = parse(version, options) + return v ? v.version : null +} + +exports.clean = clean +function clean (version, options) { + var s = parse(version.trim().replace(/^[=v]+/, ''), options) + return s ? s.version : null +} + +exports.SemVer = SemVer + +function SemVer (version, options) { + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + if (version instanceof SemVer) { + if (version.loose === options.loose) { + return version + } else { + version = version.version + } + } else if (typeof version !== 'string') { + throw new TypeError('Invalid Version: ' + version) + } + + if (version.length > MAX_LENGTH) { + throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters') + } + + if (!(this instanceof SemVer)) { + return new SemVer(version, options) + } + + debug('SemVer', version, options) + this.options = options + this.loose = !!options.loose + + var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]) + + if (!m) { + throw new TypeError('Invalid Version: ' + version) + } + + this.raw = version + + // these are actually numbers + this.major = +m[1] + this.minor = +m[2] + this.patch = +m[3] + + if (this.major > MAX_SAFE_INTEGER || this.major < 0) { + throw new TypeError('Invalid major version') + } + + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { + throw new TypeError('Invalid minor version') + } + + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { + throw new TypeError('Invalid patch version') + } + + // numberify any prerelease numeric ids + if (!m[4]) { + this.prerelease = [] + } else { + this.prerelease = m[4].split('.').map(function (id) { + if (/^[0-9]+$/.test(id)) { + var num = +id + if (num >= 0 && num < MAX_SAFE_INTEGER) { + return num + } + } + return id + }) + } + + this.build = m[5] ? m[5].split('.') : [] + this.format() +} + +SemVer.prototype.format = function () { + this.version = this.major + '.' + this.minor + '.' + this.patch + if (this.prerelease.length) { + this.version += '-' + this.prerelease.join('.') + } + return this.version +} + +SemVer.prototype.toString = function () { + return this.version +} + +SemVer.prototype.compare = function (other) { + debug('SemVer.compare', this.version, this.options, other) + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + return this.compareMain(other) || this.comparePre(other) +} + +SemVer.prototype.compareMain = function (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + return compareIdentifiers(this.major, other.major) || + compareIdentifiers(this.minor, other.minor) || + compareIdentifiers(this.patch, other.patch) +} + +SemVer.prototype.comparePre = function (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + // NOT having a prerelease is > having one + if (this.prerelease.length && !other.prerelease.length) { + return -1 + } else if (!this.prerelease.length && other.prerelease.length) { + return 1 + } else if (!this.prerelease.length && !other.prerelease.length) { + return 0 + } + + var i = 0 + do { + var a = this.prerelease[i] + var b = other.prerelease[i] + debug('prerelease compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) +} + +SemVer.prototype.compareBuild = function (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + var i = 0 + do { + var a = this.build[i] + var b = other.build[i] + debug('prerelease compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) +} + +// preminor will bump the version up to the next minor release, and immediately +// down to pre-release. premajor and prepatch work the same way. +SemVer.prototype.inc = function (release, identifier) { + switch (release) { + case 'premajor': + this.prerelease.length = 0 + this.patch = 0 + this.minor = 0 + this.major++ + this.inc('pre', identifier) + break + case 'preminor': + this.prerelease.length = 0 + this.patch = 0 + this.minor++ + this.inc('pre', identifier) + break + case 'prepatch': + // If this is already a prerelease, it will bump to the next version + // drop any prereleases that might already exist, since they are not + // relevant at this point. + this.prerelease.length = 0 + this.inc('patch', identifier) + this.inc('pre', identifier) + break + // If the input is a non-prerelease version, this acts the same as + // prepatch. + case 'prerelease': + if (this.prerelease.length === 0) { + this.inc('patch', identifier) + } + this.inc('pre', identifier) + break + + case 'major': + // If this is a pre-major version, bump up to the same major version. + // Otherwise increment major. + // 1.0.0-5 bumps to 1.0.0 + // 1.1.0 bumps to 2.0.0 + if (this.minor !== 0 || + this.patch !== 0 || + this.prerelease.length === 0) { + this.major++ + } + this.minor = 0 + this.patch = 0 + this.prerelease = [] + break + case 'minor': + // If this is a pre-minor version, bump up to the same minor version. + // Otherwise increment minor. + // 1.2.0-5 bumps to 1.2.0 + // 1.2.1 bumps to 1.3.0 + if (this.patch !== 0 || this.prerelease.length === 0) { + this.minor++ + } + this.patch = 0 + this.prerelease = [] + break + case 'patch': + // If this is not a pre-release version, it will increment the patch. + // If it is a pre-release it will bump up to the same patch version. + // 1.2.0-5 patches to 1.2.0 + // 1.2.0 patches to 1.2.1 + if (this.prerelease.length === 0) { + this.patch++ + } + this.prerelease = [] + break + // This probably shouldn't be used publicly. + // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction. + case 'pre': + if (this.prerelease.length === 0) { + this.prerelease = [0] + } else { + var i = this.prerelease.length + while (--i >= 0) { + if (typeof this.prerelease[i] === 'number') { + this.prerelease[i]++ + i = -2 + } + } + if (i === -1) { + // didn't increment anything + this.prerelease.push(0) + } + } + if (identifier) { + // 1.2.0-beta.1 bumps to 1.2.0-beta.2, + // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 + if (this.prerelease[0] === identifier) { + if (isNaN(this.prerelease[1])) { + this.prerelease = [identifier, 0] + } + } else { + this.prerelease = [identifier, 0] + } + } + break + + default: + throw new Error('invalid increment argument: ' + release) + } + this.format() + this.raw = this.version + return this +} + +exports.inc = inc +function inc (version, release, loose, identifier) { + if (typeof (loose) === 'string') { + identifier = loose + loose = undefined + } + + try { + return new SemVer(version, loose).inc(release, identifier).version + } catch (er) { + return null + } +} + +exports.diff = diff +function diff (version1, version2) { + if (eq(version1, version2)) { + return null + } else { + var v1 = parse(version1) + var v2 = parse(version2) + var prefix = '' + if (v1.prerelease.length || v2.prerelease.length) { + prefix = 'pre' + var defaultResult = 'prerelease' + } + for (var key in v1) { + if (key === 'major' || key === 'minor' || key === 'patch') { + if (v1[key] !== v2[key]) { + return prefix + key + } + } + } + return defaultResult // may be undefined + } +} + +exports.compareIdentifiers = compareIdentifiers + +var numeric = /^[0-9]+$/ +function compareIdentifiers (a, b) { + var anum = numeric.test(a) + var bnum = numeric.test(b) + + if (anum && bnum) { + a = +a + b = +b + } + + return a === b ? 0 + : (anum && !bnum) ? -1 + : (bnum && !anum) ? 1 + : a < b ? -1 + : 1 +} + +exports.rcompareIdentifiers = rcompareIdentifiers +function rcompareIdentifiers (a, b) { + return compareIdentifiers(b, a) +} + +exports.major = major +function major (a, loose) { + return new SemVer(a, loose).major +} + +exports.minor = minor +function minor (a, loose) { + return new SemVer(a, loose).minor +} + +exports.patch = patch +function patch (a, loose) { + return new SemVer(a, loose).patch +} + +exports.compare = compare +function compare (a, b, loose) { + return new SemVer(a, loose).compare(new SemVer(b, loose)) +} + +exports.compareLoose = compareLoose +function compareLoose (a, b) { + return compare(a, b, true) +} + +exports.compareBuild = compareBuild +function compareBuild (a, b, loose) { + var versionA = new SemVer(a, loose) + var versionB = new SemVer(b, loose) + return versionA.compare(versionB) || versionA.compareBuild(versionB) +} + +exports.rcompare = rcompare +function rcompare (a, b, loose) { + return compare(b, a, loose) +} + +exports.sort = sort +function sort (list, loose) { + return list.sort(function (a, b) { + return exports.compareBuild(a, b, loose) + }) +} + +exports.rsort = rsort +function rsort (list, loose) { + return list.sort(function (a, b) { + return exports.compareBuild(b, a, loose) + }) +} + +exports.gt = gt +function gt (a, b, loose) { + return compare(a, b, loose) > 0 +} + +exports.lt = lt +function lt (a, b, loose) { + return compare(a, b, loose) < 0 +} + +exports.eq = eq +function eq (a, b, loose) { + return compare(a, b, loose) === 0 +} + +exports.neq = neq +function neq (a, b, loose) { + return compare(a, b, loose) !== 0 +} + +exports.gte = gte +function gte (a, b, loose) { + return compare(a, b, loose) >= 0 +} + +exports.lte = lte +function lte (a, b, loose) { + return compare(a, b, loose) <= 0 +} + +exports.cmp = cmp +function cmp (a, op, b, loose) { + switch (op) { + case '===': + if (typeof a === 'object') + a = a.version + if (typeof b === 'object') + b = b.version + return a === b + + case '!==': + if (typeof a === 'object') + a = a.version + if (typeof b === 'object') + b = b.version + return a !== b + + case '': + case '=': + case '==': + return eq(a, b, loose) + + case '!=': + return neq(a, b, loose) + + case '>': + return gt(a, b, loose) + + case '>=': + return gte(a, b, loose) + + case '<': + return lt(a, b, loose) + + case '<=': + return lte(a, b, loose) + + default: + throw new TypeError('Invalid operator: ' + op) + } +} + +exports.Comparator = Comparator +function Comparator (comp, options) { + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + + if (comp instanceof Comparator) { + if (comp.loose === !!options.loose) { + return comp + } else { + comp = comp.value + } + } + + if (!(this instanceof Comparator)) { + return new Comparator(comp, options) + } + + debug('comparator', comp, options) + this.options = options + this.loose = !!options.loose + this.parse(comp) + + if (this.semver === ANY) { + this.value = '' + } else { + this.value = this.operator + this.semver.version + } + + debug('comp', this) +} + +var ANY = {} +Comparator.prototype.parse = function (comp) { + var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR] + var m = comp.match(r) + + if (!m) { + throw new TypeError('Invalid comparator: ' + comp) + } + + this.operator = m[1] !== undefined ? m[1] : '' + if (this.operator === '=') { + this.operator = '' + } + + // if it literally is just '>' or '' then allow anything. + if (!m[2]) { + this.semver = ANY + } else { + this.semver = new SemVer(m[2], this.options.loose) + } +} + +Comparator.prototype.toString = function () { + return this.value +} + +Comparator.prototype.test = function (version) { + debug('Comparator.test', version, this.options.loose) + + if (this.semver === ANY || version === ANY) { + return true + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options) + } catch (er) { + return false + } + } + + return cmp(version, this.operator, this.semver, this.options) +} + +Comparator.prototype.intersects = function (comp, options) { + if (!(comp instanceof Comparator)) { + throw new TypeError('a Comparator is required') + } + + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + + var rangeTmp + + if (this.operator === '') { + if (this.value === '') { + return true + } + rangeTmp = new Range(comp.value, options) + return satisfies(this.value, rangeTmp, options) + } else if (comp.operator === '') { + if (comp.value === '') { + return true + } + rangeTmp = new Range(this.value, options) + return satisfies(comp.semver, rangeTmp, options) + } + + var sameDirectionIncreasing = + (this.operator === '>=' || this.operator === '>') && + (comp.operator === '>=' || comp.operator === '>') + var sameDirectionDecreasing = + (this.operator === '<=' || this.operator === '<') && + (comp.operator === '<=' || comp.operator === '<') + var sameSemVer = this.semver.version === comp.semver.version + var differentDirectionsInclusive = + (this.operator === '>=' || this.operator === '<=') && + (comp.operator === '>=' || comp.operator === '<=') + var oppositeDirectionsLessThan = + cmp(this.semver, '<', comp.semver, options) && + ((this.operator === '>=' || this.operator === '>') && + (comp.operator === '<=' || comp.operator === '<')) + var oppositeDirectionsGreaterThan = + cmp(this.semver, '>', comp.semver, options) && + ((this.operator === '<=' || this.operator === '<') && + (comp.operator === '>=' || comp.operator === '>')) + + return sameDirectionIncreasing || sameDirectionDecreasing || + (sameSemVer && differentDirectionsInclusive) || + oppositeDirectionsLessThan || oppositeDirectionsGreaterThan +} + +exports.Range = Range +function Range (range, options) { + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + + if (range instanceof Range) { + if (range.loose === !!options.loose && + range.includePrerelease === !!options.includePrerelease) { + return range + } else { + return new Range(range.raw, options) + } + } + + if (range instanceof Comparator) { + return new Range(range.value, options) + } + + if (!(this instanceof Range)) { + return new Range(range, options) + } + + this.options = options + this.loose = !!options.loose + this.includePrerelease = !!options.includePrerelease + + // First, split based on boolean or || + this.raw = range + this.set = range.split(/\s*\|\|\s*/).map(function (range) { + return this.parseRange(range.trim()) + }, this).filter(function (c) { + // throw out any that are not relevant for whatever reason + return c.length + }) + + if (!this.set.length) { + throw new TypeError('Invalid SemVer Range: ' + range) + } + + this.format() +} + +Range.prototype.format = function () { + this.range = this.set.map(function (comps) { + return comps.join(' ').trim() + }).join('||').trim() + return this.range +} + +Range.prototype.toString = function () { + return this.range +} + +Range.prototype.parseRange = function (range) { + var loose = this.options.loose + range = range.trim() + // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` + var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE] + range = range.replace(hr, hyphenReplace) + debug('hyphen replace', range) + // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` + range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace) + debug('comparator trim', range, re[t.COMPARATORTRIM]) + + // `~ 1.2.3` => `~1.2.3` + range = range.replace(re[t.TILDETRIM], tildeTrimReplace) + + // `^ 1.2.3` => `^1.2.3` + range = range.replace(re[t.CARETTRIM], caretTrimReplace) + + // normalize spaces + range = range.split(/\s+/).join(' ') + + // At this point, the range is completely trimmed and + // ready to be split into comparators. + + var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR] + var set = range.split(' ').map(function (comp) { + return parseComparator(comp, this.options) + }, this).join(' ').split(/\s+/) + if (this.options.loose) { + // in loose mode, throw out any that are not valid comparators + set = set.filter(function (comp) { + return !!comp.match(compRe) + }) + } + set = set.map(function (comp) { + return new Comparator(comp, this.options) + }, this) + + return set +} + +Range.prototype.intersects = function (range, options) { + if (!(range instanceof Range)) { + throw new TypeError('a Range is required') + } + + return this.set.some(function (thisComparators) { + return ( + isSatisfiable(thisComparators, options) && + range.set.some(function (rangeComparators) { + return ( + isSatisfiable(rangeComparators, options) && + thisComparators.every(function (thisComparator) { + return rangeComparators.every(function (rangeComparator) { + return thisComparator.intersects(rangeComparator, options) + }) + }) + ) + }) + ) + }) +} + +// take a set of comparators and determine whether there +// exists a version which can satisfy it +function isSatisfiable (comparators, options) { + var result = true + var remainingComparators = comparators.slice() + var testComparator = remainingComparators.pop() + + while (result && remainingComparators.length) { + result = remainingComparators.every(function (otherComparator) { + return testComparator.intersects(otherComparator, options) + }) + + testComparator = remainingComparators.pop() + } + + return result +} + +// Mostly just for testing and legacy API reasons +exports.toComparators = toComparators +function toComparators (range, options) { + return new Range(range, options).set.map(function (comp) { + return comp.map(function (c) { + return c.value + }).join(' ').trim().split(' ') + }) +} + +// comprised of xranges, tildes, stars, and gtlt's at this point. +// already replaced the hyphen ranges +// turn into a set of JUST comparators. +function parseComparator (comp, options) { + debug('comp', comp, options) + comp = replaceCarets(comp, options) + debug('caret', comp) + comp = replaceTildes(comp, options) + debug('tildes', comp) + comp = replaceXRanges(comp, options) + debug('xrange', comp) + comp = replaceStars(comp, options) + debug('stars', comp) + return comp +} + +function isX (id) { + return !id || id.toLowerCase() === 'x' || id === '*' +} + +// ~, ~> --> * (any, kinda silly) +// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0 +// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0 +// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0 +// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0 +// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0 +function replaceTildes (comp, options) { + return comp.trim().split(/\s+/).map(function (comp) { + return replaceTilde(comp, options) + }).join(' ') +} + +function replaceTilde (comp, options) { + var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE] + return comp.replace(r, function (_, M, m, p, pr) { + debug('tilde', comp, _, M, m, p, pr) + var ret + + if (isX(M)) { + ret = '' + } else if (isX(m)) { + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0' + } else if (isX(p)) { + // ~1.2 == >=1.2.0 <1.3.0 + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0' + } else if (pr) { + debug('replaceTilde pr', pr) + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + + ' <' + M + '.' + (+m + 1) + '.0' + } else { + // ~1.2.3 == >=1.2.3 <1.3.0 + ret = '>=' + M + '.' + m + '.' + p + + ' <' + M + '.' + (+m + 1) + '.0' + } + + debug('tilde return', ret) + return ret + }) +} + +// ^ --> * (any, kinda silly) +// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0 +// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0 +// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0 +// ^1.2.3 --> >=1.2.3 <2.0.0 +// ^1.2.0 --> >=1.2.0 <2.0.0 +function replaceCarets (comp, options) { + return comp.trim().split(/\s+/).map(function (comp) { + return replaceCaret(comp, options) + }).join(' ') +} + +function replaceCaret (comp, options) { + debug('caret', comp, options) + var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET] + return comp.replace(r, function (_, M, m, p, pr) { + debug('caret', comp, _, M, m, p, pr) + var ret + + if (isX(M)) { + ret = '' + } else if (isX(m)) { + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0' + } else if (isX(p)) { + if (M === '0') { + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0' + } else { + ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0' + } + } else if (pr) { + debug('replaceCaret pr', pr) + if (M === '0') { + if (m === '0') { + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + + ' <' + M + '.' + m + '.' + (+p + 1) + } else { + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + + ' <' + M + '.' + (+m + 1) + '.0' + } + } else { + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + + ' <' + (+M + 1) + '.0.0' + } + } else { + debug('no pr') + if (M === '0') { + if (m === '0') { + ret = '>=' + M + '.' + m + '.' + p + + ' <' + M + '.' + m + '.' + (+p + 1) + } else { + ret = '>=' + M + '.' + m + '.' + p + + ' <' + M + '.' + (+m + 1) + '.0' + } + } else { + ret = '>=' + M + '.' + m + '.' + p + + ' <' + (+M + 1) + '.0.0' + } + } + + debug('caret return', ret) + return ret + }) +} + +function replaceXRanges (comp, options) { + debug('replaceXRanges', comp, options) + return comp.split(/\s+/).map(function (comp) { + return replaceXRange(comp, options) + }).join(' ') +} + +function replaceXRange (comp, options) { + comp = comp.trim() + var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE] + return comp.replace(r, function (ret, gtlt, M, m, p, pr) { + debug('xRange', comp, ret, gtlt, M, m, p, pr) + var xM = isX(M) + var xm = xM || isX(m) + var xp = xm || isX(p) + var anyX = xp + + if (gtlt === '=' && anyX) { + gtlt = '' + } + + // if we're including prereleases in the match, then we need + // to fix this to -0, the lowest possible prerelease value + pr = options.includePrerelease ? '-0' : '' + + if (xM) { + if (gtlt === '>' || gtlt === '<') { + // nothing is allowed + ret = '<0.0.0-0' + } else { + // nothing is forbidden + ret = '*' + } + } else if (gtlt && anyX) { + // we know patch is an x, because we have any x at all. + // replace X with 0 + if (xm) { + m = 0 + } + p = 0 + + if (gtlt === '>') { + // >1 => >=2.0.0 + // >1.2 => >=1.3.0 + // >1.2.3 => >= 1.2.4 + gtlt = '>=' + if (xm) { + M = +M + 1 + m = 0 + p = 0 + } else { + m = +m + 1 + p = 0 + } + } else if (gtlt === '<=') { + // <=0.7.x is actually <0.8.0, since any 0.7.x should + // pass. Similarly, <=7.x is actually <8.0.0, etc. + gtlt = '<' + if (xm) { + M = +M + 1 + } else { + m = +m + 1 + } + } + + ret = gtlt + M + '.' + m + '.' + p + pr + } else if (xm) { + ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr + } else if (xp) { + ret = '>=' + M + '.' + m + '.0' + pr + + ' <' + M + '.' + (+m + 1) + '.0' + pr + } + + debug('xRange return', ret) + + return ret + }) +} + +// Because * is AND-ed with everything else in the comparator, +// and '' means "any version", just remove the *s entirely. +function replaceStars (comp, options) { + debug('replaceStars', comp, options) + // Looseness is ignored here. star is always as loose as it gets! + return comp.trim().replace(re[t.STAR], '') +} + +// This function is passed to string.replace(re[t.HYPHENRANGE]) +// M, m, patch, prerelease, build +// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 +// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do +// 1.2 - 3.4 => >=1.2.0 <3.5.0 +function hyphenReplace ($0, + from, fM, fm, fp, fpr, fb, + to, tM, tm, tp, tpr, tb) { + if (isX(fM)) { + from = '' + } else if (isX(fm)) { + from = '>=' + fM + '.0.0' + } else if (isX(fp)) { + from = '>=' + fM + '.' + fm + '.0' + } else { + from = '>=' + from + } + + if (isX(tM)) { + to = '' + } else if (isX(tm)) { + to = '<' + (+tM + 1) + '.0.0' + } else if (isX(tp)) { + to = '<' + tM + '.' + (+tm + 1) + '.0' + } else if (tpr) { + to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr + } else { + to = '<=' + to + } + + return (from + ' ' + to).trim() +} + +// if ANY of the sets match ALL of its comparators, then pass +Range.prototype.test = function (version) { + if (!version) { + return false + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options) + } catch (er) { + return false + } + } + + for (var i = 0; i < this.set.length; i++) { + if (testSet(this.set[i], version, this.options)) { + return true + } + } + return false +} + +function testSet (set, version, options) { + for (var i = 0; i < set.length; i++) { + if (!set[i].test(version)) { + return false + } + } + + if (version.prerelease.length && !options.includePrerelease) { + // Find the set of versions that are allowed to have prereleases + // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 + // That should allow `1.2.3-pr.2` to pass. + // However, `1.2.4-alpha.notready` should NOT be allowed, + // even though it's within the range set by the comparators. + for (i = 0; i < set.length; i++) { + debug(set[i].semver) + if (set[i].semver === ANY) { + continue + } + + if (set[i].semver.prerelease.length > 0) { + var allowed = set[i].semver + if (allowed.major === version.major && + allowed.minor === version.minor && + allowed.patch === version.patch) { + return true + } + } + } + + // Version has a -pre, but it's not one of the ones we like. + return false + } + + return true +} + +exports.satisfies = satisfies +function satisfies (version, range, options) { + try { + range = new Range(range, options) + } catch (er) { + return false + } + return range.test(version) +} + +exports.maxSatisfying = maxSatisfying +function maxSatisfying (versions, range, options) { + var max = null + var maxSV = null + try { + var rangeObj = new Range(range, options) + } catch (er) { + return null + } + versions.forEach(function (v) { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!max || maxSV.compare(v) === -1) { + // compare(max, v, true) + max = v + maxSV = new SemVer(max, options) + } + } + }) + return max +} + +exports.minSatisfying = minSatisfying +function minSatisfying (versions, range, options) { + var min = null + var minSV = null + try { + var rangeObj = new Range(range, options) + } catch (er) { + return null + } + versions.forEach(function (v) { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!min || minSV.compare(v) === 1) { + // compare(min, v, true) + min = v + minSV = new SemVer(min, options) + } + } + }) + return min +} + +exports.minVersion = minVersion +function minVersion (range, loose) { + range = new Range(range, loose) + + var minver = new SemVer('0.0.0') + if (range.test(minver)) { + return minver + } + + minver = new SemVer('0.0.0-0') + if (range.test(minver)) { + return minver + } + + minver = null + for (var i = 0; i < range.set.length; ++i) { + var comparators = range.set[i] + + comparators.forEach(function (comparator) { + // Clone to avoid manipulating the comparator's semver object. + var compver = new SemVer(comparator.semver.version) + switch (comparator.operator) { + case '>': + if (compver.prerelease.length === 0) { + compver.patch++ + } else { + compver.prerelease.push(0) + } + compver.raw = compver.format() + /* fallthrough */ + case '': + case '>=': + if (!minver || gt(minver, compver)) { + minver = compver + } + break + case '<': + case '<=': + /* Ignore maximum versions */ + break + /* istanbul ignore next */ + default: + throw new Error('Unexpected operation: ' + comparator.operator) + } + }) + } + + if (minver && range.test(minver)) { + return minver + } + + return null +} + +exports.validRange = validRange +function validRange (range, options) { + try { + // Return '*' instead of '' so that truthiness works. + // This will throw if it's invalid anyway + return new Range(range, options).range || '*' + } catch (er) { + return null + } +} + +// Determine if version is less than all the versions possible in the range +exports.ltr = ltr +function ltr (version, range, options) { + return outside(version, range, '<', options) +} + +// Determine if version is greater than all the versions possible in the range. +exports.gtr = gtr +function gtr (version, range, options) { + return outside(version, range, '>', options) +} + +exports.outside = outside +function outside (version, range, hilo, options) { + version = new SemVer(version, options) + range = new Range(range, options) + + var gtfn, ltefn, ltfn, comp, ecomp + switch (hilo) { + case '>': + gtfn = gt + ltefn = lte + ltfn = lt + comp = '>' + ecomp = '>=' + break + case '<': + gtfn = lt + ltefn = gte + ltfn = gt + comp = '<' + ecomp = '<=' + break + default: + throw new TypeError('Must provide a hilo val of "<" or ">"') + } + + // If it satisifes the range it is not outside + if (satisfies(version, range, options)) { + return false + } + + // From now on, variable terms are as if we're in "gtr" mode. + // but note that everything is flipped for the "ltr" function. + + for (var i = 0; i < range.set.length; ++i) { + var comparators = range.set[i] + + var high = null + var low = null + + comparators.forEach(function (comparator) { + if (comparator.semver === ANY) { + comparator = new Comparator('>=0.0.0') + } + high = high || comparator + low = low || comparator + if (gtfn(comparator.semver, high.semver, options)) { + high = comparator + } else if (ltfn(comparator.semver, low.semver, options)) { + low = comparator + } + }) + + // If the edge version comparator has a operator then our version + // isn't outside it + if (high.operator === comp || high.operator === ecomp) { + return false + } + + // If the lowest version comparator has an operator and our version + // is less than it then it isn't higher than the range + if ((!low.operator || low.operator === comp) && + ltefn(version, low.semver)) { + return false + } else if (low.operator === ecomp && ltfn(version, low.semver)) { + return false + } + } + return true +} + +exports.prerelease = prerelease +function prerelease (version, options) { + var parsed = parse(version, options) + return (parsed && parsed.prerelease.length) ? parsed.prerelease : null +} + +exports.intersects = intersects +function intersects (r1, r2, options) { + r1 = new Range(r1, options) + r2 = new Range(r2, options) + return r1.intersects(r2) +} + +exports.coerce = coerce +function coerce (version, options) { + if (version instanceof SemVer) { + return version + } + + if (typeof version === 'number') { + version = String(version) + } + + if (typeof version !== 'string') { + return null + } + + options = options || {} + + var match = null + if (!options.rtl) { + match = version.match(re[t.COERCE]) + } else { + // Find the right-most coercible string that does not share + // a terminus with a more left-ward coercible string. + // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4' + // + // Walk through the string checking with a /g regexp + // Manually set the index so as to pick up overlapping matches. + // Stop when we get a match that ends at the string end, since no + // coercible string can be more right-ward without the same terminus. + var next + while ((next = re[t.COERCERTL].exec(version)) && + (!match || match.index + match[0].length !== version.length) + ) { + if (!match || + next.index + next[0].length !== match.index + match[0].length) { + match = next + } + re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length + } + // leave it in a clean state + re[t.COERCERTL].lastIndex = -1 + } + + if (match === null) { + return null + } + + return parse(match[2] + + '.' + (match[3] || '0') + + '.' + (match[4] || '0'), options) +} diff --git a/node_modules/@babel/helper-create-class-features-plugin/package.json b/node_modules/@babel/helper-create-class-features-plugin/package.json index 1a0dcfb17..c90d38bb1 100644 --- a/node_modules/@babel/helper-create-class-features-plugin/package.json +++ b/node_modules/@babel/helper-create-class-features-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@babel/helper-create-class-features-plugin", - "version": "7.21.4", + "version": "7.22.5", "author": "The Babel Team (https://babel.dev/team)", "license": "MIT", "description": "Compile class public and private fields, private methods and decorators to ES6", @@ -18,23 +18,24 @@ "babel-plugin" ], "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-member-expression-to-functions": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "semver": "^6.3.0" }, "peerDependencies": { "@babel/core": "^7.0.0" }, "devDependencies": { - "@babel/core": "^7.21.4", - "@babel/helper-plugin-test-runner": "^7.18.6", + "@babel/core": "^7.22.5", + "@babel/helper-plugin-test-runner": "^7.22.5", "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/preset-env": "^7.21.4" + "@babel/preset-env": "^7.22.5" }, "engines": { "node": ">=6.9.0" diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/lib/features.js.map b/node_modules/@babel/helper-create-regexp-features-plugin/lib/features.js.map index f37128651..aa8d9088d 100644 --- a/node_modules/@babel/helper-create-regexp-features-plugin/lib/features.js.map +++ b/node_modules/@babel/helper-create-regexp-features-plugin/lib/features.js.map @@ -1 +1 @@ -{"version":3,"names":["FEATURES","Object","freeze","unicodeFlag","dotAllFlag","unicodePropertyEscape","namedCaptureGroups","unicodeSetsFlag_syntax","unicodeSetsFlag","duplicateNamedCaptureGroups","modifiers","exports","featuresKey","runtimeKey","enableFeature","features","feature","hasFeature"],"sources":["../src/features.ts"],"sourcesContent":["export const FEATURES = Object.freeze({\n unicodeFlag: 1 << 0,\n dotAllFlag: 1 << 1,\n unicodePropertyEscape: 1 << 2,\n namedCaptureGroups: 1 << 3,\n unicodeSetsFlag_syntax: 1 << 4,\n unicodeSetsFlag: 1 << 5,\n duplicateNamedCaptureGroups: 1 << 6,\n modifiers: 1 << 7,\n});\n\n// We can't use a symbol because this needs to always be the same, even if\n// this package isn't deduped by npm. e.g.\n// - node_modules/\n// - @babel/plugin-regexp-features\n// - @babel/plugin-proposal-unicode-property-regex\n// - node_modules\n// - @babel-plugin-regexp-features\nexport const featuresKey = \"@babel/plugin-regexp-features/featuresKey\";\nexport const runtimeKey = \"@babel/plugin-regexp-features/runtimeKey\";\n\ntype FeatureType = (typeof FEATURES)[keyof typeof FEATURES];\n\nexport function enableFeature(features: number, feature: FeatureType): number {\n return features | feature;\n}\n\nexport function hasFeature(features: number, feature: FeatureType) {\n return !!(features & feature);\n}\n"],"mappings":";;;;;;;;;;AAAO,MAAMA,QAAQ,GAAGC,MAAM,CAACC,MAAM,CAAC;EACpCC,WAAW,EAAE,CAAC,IAAI,CAAC;EACnBC,UAAU,EAAE,CAAC,IAAI,CAAC;EAClBC,qBAAqB,EAAE,CAAC,IAAI,CAAC;EAC7BC,kBAAkB,EAAE,CAAC,IAAI,CAAC;EAC1BC,sBAAsB,EAAE,CAAC,IAAI,CAAC;EAC9BC,eAAe,EAAE,CAAC,IAAI,CAAC;EACvBC,2BAA2B,EAAE,CAAC,IAAI,CAAC;EACnCC,SAAS,EAAE,CAAC,IAAI;AAClB,CAAC,CAAC;AAACC,OAAA,CAAAX,QAAA,GAAAA,QAAA;AASI,MAAMY,WAAW,GAAG,2CAA2C;AAACD,OAAA,CAAAC,WAAA,GAAAA,WAAA;AAChE,MAAMC,UAAU,GAAG,0CAA0C;AAACF,OAAA,CAAAE,UAAA,GAAAA,UAAA;AAI9D,SAASC,aAAaA,CAACC,QAAgB,EAAEC,OAAoB,EAAU;EAC5E,OAAOD,QAAQ,GAAGC,OAAO;AAC3B;AAEO,SAASC,UAAUA,CAACF,QAAgB,EAAEC,OAAoB,EAAE;EACjE,OAAO,CAAC,EAAED,QAAQ,GAAGC,OAAO,CAAC;AAC/B"} \ No newline at end of file +{"version":3,"names":["FEATURES","Object","freeze","unicodeFlag","dotAllFlag","unicodePropertyEscape","namedCaptureGroups","unicodeSetsFlag_syntax","unicodeSetsFlag","duplicateNamedCaptureGroups","modifiers","exports","featuresKey","runtimeKey","enableFeature","features","feature","hasFeature"],"sources":["../src/features.ts"],"sourcesContent":["export const FEATURES = Object.freeze({\n unicodeFlag: 1 << 0,\n dotAllFlag: 1 << 1,\n unicodePropertyEscape: 1 << 2,\n namedCaptureGroups: 1 << 3,\n // Not used, for backward compatibility with syntax-unicode-sets-regex\n unicodeSetsFlag_syntax: 1 << 4,\n unicodeSetsFlag: 1 << 5,\n duplicateNamedCaptureGroups: 1 << 6,\n modifiers: 1 << 7,\n});\n\n// We can't use a symbol because this needs to always be the same, even if\n// this package isn't deduped by npm. e.g.\n// - node_modules/\n// - @babel/plugin-regexp-features\n// - @babel/plugin-transform-unicode-property-regex\n// - node_modules\n// - @babel-plugin-regexp-features\nexport const featuresKey = \"@babel/plugin-regexp-features/featuresKey\";\nexport const runtimeKey = \"@babel/plugin-regexp-features/runtimeKey\";\n\ntype FeatureType = (typeof FEATURES)[keyof typeof FEATURES];\n\nexport function enableFeature(features: number, feature: FeatureType): number {\n return features | feature;\n}\n\nexport function hasFeature(features: number, feature: FeatureType) {\n return !!(features & feature);\n}\n"],"mappings":";;;;;;;;;;AAAO,MAAMA,QAAQ,GAAGC,MAAM,CAACC,MAAM,CAAC;EACpCC,WAAW,EAAE,CAAC,IAAI,CAAC;EACnBC,UAAU,EAAE,CAAC,IAAI,CAAC;EAClBC,qBAAqB,EAAE,CAAC,IAAI,CAAC;EAC7BC,kBAAkB,EAAE,CAAC,IAAI,CAAC;EAE1BC,sBAAsB,EAAE,CAAC,IAAI,CAAC;EAC9BC,eAAe,EAAE,CAAC,IAAI,CAAC;EACvBC,2BAA2B,EAAE,CAAC,IAAI,CAAC;EACnCC,SAAS,EAAE,CAAC,IAAI;AAClB,CAAC,CAAC;AAACC,OAAA,CAAAX,QAAA,GAAAA,QAAA;AASI,MAAMY,WAAW,GAAG,2CAA2C;AAACD,OAAA,CAAAC,WAAA,GAAAA,WAAA;AAChE,MAAMC,UAAU,GAAG,0CAA0C;AAACF,OAAA,CAAAE,UAAA,GAAAA,UAAA;AAI9D,SAASC,aAAaA,CAACC,QAAgB,EAAEC,OAAoB,EAAU;EAC5E,OAAOD,QAAQ,GAAGC,OAAO;AAC3B;AAEO,SAASC,UAAUA,CAACF,QAAgB,EAAEC,OAAoB,EAAE;EACjE,OAAO,CAAC,EAAED,QAAQ,GAAGC,OAAO,CAAC;AAC/B"} \ No newline at end of file diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/lib/index.js b/node_modules/@babel/helper-create-regexp-features-plugin/lib/index.js index 731672349..c71752104 100644 --- a/node_modules/@babel/helper-create-regexp-features-plugin/lib/index.js +++ b/node_modules/@babel/helper-create-regexp-features-plugin/lib/index.js @@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.createRegExpFeaturePlugin = createRegExpFeaturePlugin; var _regexpuCore = require("regexpu-core"); -var _features = require("./features"); -var _util = require("./util"); var _core = require("@babel/core"); var _helperAnnotateAsPure = require("@babel/helper-annotate-as-pure"); -const version = "7.21.4".split(".").reduce((v, x) => v * 1e5 + +x, 0); +var _semver = require("semver"); +var _features = require("./features"); +var _util = require("./util"); const versionKey = "@babel/plugin-regexp-features/version"; function createRegExpFeaturePlugin({ name, @@ -47,8 +47,14 @@ function createRegExpFeaturePlugin({ file.set(_features.runtimeKey, runtime); } } - if (!file.has(versionKey) || file.get(versionKey) < version) { - file.set(versionKey, version); + { + if (typeof file.get(versionKey) === "number") { + file.set(versionKey, "7.22.5"); + return; + } + } + if (!file.get(versionKey) || _semver.lt(file.get(versionKey), "7.22.5")) { + file.set(versionKey, "7.22.5"); } }, visitor: { diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/lib/index.js.map b/node_modules/@babel/helper-create-regexp-features-plugin/lib/index.js.map index b8cbb1456..a6d1f26fd 100644 --- a/node_modules/@babel/helper-create-regexp-features-plugin/lib/index.js.map +++ b/node_modules/@babel/helper-create-regexp-features-plugin/lib/index.js.map @@ -1 +1 @@ -{"version":3,"names":["_regexpuCore","require","_features","_util","_core","_helperAnnotateAsPure","version","split","reduce","v","x","versionKey","createRegExpFeaturePlugin","name","feature","options","manipulateOptions","pre","_file$get","file","features","get","featuresKey","newFeatures","enableFeature","FEATURES","useUnicodeFlag","runtime","unicodeFlag","set","undefined","has","runtimeKey","hasFeature","duplicateNamedCaptureGroups","Error","visitor","RegExpLiteral","path","_file$get2","_newFlags","node","regexpuOptions","generateRegexpuOptions","pattern","canSkipRegexpu","namedCaptureGroups","__proto__","namedGroups","onNamedGroup","index","prev","Array","isArray","push","newFlags","modifiers","onNewFlags","flags","rewritePattern","Object","keys","length","isRegExpTest","call","t","callExpression","addHelper","valueToNode","annotateAsPure","replaceWith","transformFlags","parentPath","isMemberExpression","object","computed","isIdentifier"],"sources":["../src/index.ts"],"sourcesContent":["import rewritePattern from \"regexpu-core\";\nimport {\n featuresKey,\n FEATURES,\n enableFeature,\n runtimeKey,\n hasFeature,\n} from \"./features\";\nimport { generateRegexpuOptions, canSkipRegexpu, transformFlags } from \"./util\";\nimport type { NodePath } from \"@babel/traverse\";\n\nimport { types as t } from \"@babel/core\";\nimport type { PluginObject } from \"@babel/core\";\nimport annotateAsPure from \"@babel/helper-annotate-as-pure\";\n\ndeclare const PACKAGE_JSON: { name: string; version: string };\n\n// Note: Versions are represented as an integer. e.g. 7.1.5 is represented\n// as 70000100005. This method is easier than using a semver-parsing\n// package, but it breaks if we release x.y.z where x, y or z are\n// greater than 99_999.\nconst version = PACKAGE_JSON.version\n .split(\".\")\n .reduce((v, x) => v * 1e5 + +x, 0);\nconst versionKey = \"@babel/plugin-regexp-features/version\";\n\nexport interface Options {\n name: string;\n feature: keyof typeof FEATURES;\n options?: {\n useUnicodeFlag?: boolean;\n runtime?: boolean;\n };\n manipulateOptions?: PluginObject[\"manipulateOptions\"];\n}\n\nexport function createRegExpFeaturePlugin({\n name,\n feature,\n options = {},\n manipulateOptions = () => {},\n}: Options): PluginObject {\n return {\n name,\n\n manipulateOptions,\n\n pre() {\n const { file } = this;\n const features = file.get(featuresKey) ?? 0;\n let newFeatures = enableFeature(features, FEATURES[feature]);\n\n const { useUnicodeFlag, runtime } = options;\n if (useUnicodeFlag === false) {\n newFeatures = enableFeature(newFeatures, FEATURES.unicodeFlag);\n }\n if (newFeatures !== features) {\n file.set(featuresKey, newFeatures);\n }\n\n if (runtime !== undefined) {\n if (\n file.has(runtimeKey) &&\n file.get(runtimeKey) !== runtime &&\n // TODO(Babel 8): Remove this check. It's necessary because in Babel 7\n // we allow multiple copies of transform-named-capturing-groups-regex\n // with conflicting 'runtime' options.\n hasFeature(newFeatures, FEATURES.duplicateNamedCaptureGroups)\n ) {\n throw new Error(\n `The 'runtime' option must be the same for ` +\n `'@babel/plugin-transform-named-capturing-groups-regex' and ` +\n `'@babel/plugin-proposal-duplicate-named-capturing-groups-regex'.`,\n );\n }\n // TODO(Babel 8): Remove this check and always set it.\n // It's necessary because in Babel 7 we allow multiple copies of\n // transform-named-capturing-groups-regex with conflicting 'runtime' options.\n if (feature === \"namedCaptureGroups\") {\n if (!runtime || !file.has(runtimeKey)) file.set(runtimeKey, runtime);\n } else {\n file.set(runtimeKey, runtime);\n }\n }\n\n if (!file.has(versionKey) || file.get(versionKey) < version) {\n file.set(versionKey, version);\n }\n },\n\n visitor: {\n RegExpLiteral(path) {\n const { node } = path;\n const { file } = this;\n const features = file.get(featuresKey);\n const runtime = file.get(runtimeKey) ?? true;\n\n const regexpuOptions = generateRegexpuOptions(node.pattern, features);\n if (canSkipRegexpu(node, regexpuOptions)) {\n return;\n }\n\n const namedCaptureGroups: Record = {\n __proto__: null,\n };\n if (regexpuOptions.namedGroups === \"transform\") {\n regexpuOptions.onNamedGroup = (name, index) => {\n const prev = namedCaptureGroups[name];\n if (typeof prev === \"number\") {\n namedCaptureGroups[name] = [prev, index];\n } else if (Array.isArray(prev)) {\n prev.push(index);\n } else {\n namedCaptureGroups[name] = index;\n }\n };\n }\n\n let newFlags;\n if (regexpuOptions.modifiers === \"transform\") {\n regexpuOptions.onNewFlags = flags => {\n newFlags = flags;\n };\n }\n\n node.pattern = rewritePattern(node.pattern, node.flags, regexpuOptions);\n\n if (\n regexpuOptions.namedGroups === \"transform\" &&\n Object.keys(namedCaptureGroups).length > 0 &&\n runtime &&\n !isRegExpTest(path)\n ) {\n const call = t.callExpression(this.addHelper(\"wrapRegExp\"), [\n node,\n t.valueToNode(namedCaptureGroups),\n ]);\n annotateAsPure(call);\n\n path.replaceWith(call);\n }\n\n node.flags = transformFlags(regexpuOptions, newFlags ?? node.flags);\n },\n },\n };\n}\n\nfunction isRegExpTest(path: NodePath) {\n return (\n path.parentPath.isMemberExpression({\n object: path.node,\n computed: false,\n }) && path.parentPath.get(\"property\").isIdentifier({ name: \"test\" })\n );\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_regexpuCore","require","_core","_helperAnnotateAsPure","_semver","_features","_util","versionKey","createRegExpFeaturePlugin","name","feature","options","manipulateOptions","pre","_file$get","file","features","get","featuresKey","newFeatures","enableFeature","FEATURES","useUnicodeFlag","runtime","unicodeFlag","set","undefined","has","runtimeKey","hasFeature","duplicateNamedCaptureGroups","Error","semver","lt","visitor","RegExpLiteral","path","_file$get2","_newFlags","node","regexpuOptions","generateRegexpuOptions","pattern","canSkipRegexpu","namedCaptureGroups","__proto__","namedGroups","onNamedGroup","index","prev","Array","isArray","push","newFlags","modifiers","onNewFlags","flags","rewritePattern","Object","keys","length","isRegExpTest","call","t","callExpression","addHelper","valueToNode","annotateAsPure","replaceWith","transformFlags","parentPath","isMemberExpression","object","computed","isIdentifier"],"sources":["../src/index.ts"],"sourcesContent":["import rewritePattern from \"regexpu-core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport { types as t, type PluginObject } from \"@babel/core\";\nimport annotateAsPure from \"@babel/helper-annotate-as-pure\";\n\nimport semver from \"semver\";\n\nimport {\n featuresKey,\n FEATURES,\n enableFeature,\n runtimeKey,\n hasFeature,\n} from \"./features\";\nimport { generateRegexpuOptions, canSkipRegexpu, transformFlags } from \"./util\";\n\nconst versionKey = \"@babel/plugin-regexp-features/version\";\n\nexport interface Options {\n name: string;\n feature: keyof typeof FEATURES;\n options?: {\n useUnicodeFlag?: boolean;\n runtime?: boolean;\n };\n manipulateOptions?: PluginObject[\"manipulateOptions\"];\n}\n\nexport function createRegExpFeaturePlugin({\n name,\n feature,\n options = {},\n manipulateOptions = () => {},\n}: Options): PluginObject {\n return {\n name,\n\n manipulateOptions,\n\n pre() {\n const { file } = this;\n const features = file.get(featuresKey) ?? 0;\n let newFeatures = enableFeature(features, FEATURES[feature]);\n\n const { useUnicodeFlag, runtime } = options;\n if (useUnicodeFlag === false) {\n newFeatures = enableFeature(newFeatures, FEATURES.unicodeFlag);\n }\n if (newFeatures !== features) {\n file.set(featuresKey, newFeatures);\n }\n\n if (runtime !== undefined) {\n if (\n file.has(runtimeKey) &&\n file.get(runtimeKey) !== runtime &&\n (process.env.BABEL_8_BREAKING ||\n // This check. Is necessary because in Babel 7 we allow multiple\n // copies of transform-named-capturing-groups-regex with\n // conflicting 'runtime' options.\n hasFeature(newFeatures, FEATURES.duplicateNamedCaptureGroups))\n ) {\n throw new Error(\n `The 'runtime' option must be the same for ` +\n `'@babel/plugin-transform-named-capturing-groups-regex' and ` +\n `'@babel/plugin-proposal-duplicate-named-capturing-groups-regex'.`,\n );\n }\n\n if (process.env.BABEL_8_BREAKING) {\n file.set(runtimeKey, runtime);\n } else if (\n // This check. Is necessary because in Babel 7 we allow multiple\n // copies of transform-named-capturing-groups-regex with\n // conflicting 'runtime' options.\n feature === \"namedCaptureGroups\"\n ) {\n if (!runtime || !file.has(runtimeKey)) file.set(runtimeKey, runtime);\n } else {\n file.set(runtimeKey, runtime);\n }\n }\n\n if (!process.env.BABEL_8_BREAKING) {\n // Until 7.21.4, we used to encode the version as a number.\n // If file.get(versionKey) is a number, it has thus been\n // set by an older version of this plugin.\n if (typeof file.get(versionKey) === \"number\") {\n file.set(versionKey, PACKAGE_JSON.version);\n return;\n }\n }\n if (\n !file.get(versionKey) ||\n semver.lt(file.get(versionKey), PACKAGE_JSON.version)\n ) {\n file.set(versionKey, PACKAGE_JSON.version);\n }\n },\n\n visitor: {\n RegExpLiteral(path) {\n const { node } = path;\n const { file } = this;\n const features = file.get(featuresKey);\n const runtime = file.get(runtimeKey) ?? true;\n\n const regexpuOptions = generateRegexpuOptions(node.pattern, features);\n if (canSkipRegexpu(node, regexpuOptions)) {\n return;\n }\n\n const namedCaptureGroups: Record = {\n __proto__: null,\n };\n if (regexpuOptions.namedGroups === \"transform\") {\n regexpuOptions.onNamedGroup = (name, index) => {\n const prev = namedCaptureGroups[name];\n if (typeof prev === \"number\") {\n namedCaptureGroups[name] = [prev, index];\n } else if (Array.isArray(prev)) {\n prev.push(index);\n } else {\n namedCaptureGroups[name] = index;\n }\n };\n }\n\n let newFlags;\n if (regexpuOptions.modifiers === \"transform\") {\n regexpuOptions.onNewFlags = flags => {\n newFlags = flags;\n };\n }\n\n node.pattern = rewritePattern(node.pattern, node.flags, regexpuOptions);\n\n if (\n regexpuOptions.namedGroups === \"transform\" &&\n Object.keys(namedCaptureGroups).length > 0 &&\n runtime &&\n !isRegExpTest(path)\n ) {\n const call = t.callExpression(this.addHelper(\"wrapRegExp\"), [\n node,\n t.valueToNode(namedCaptureGroups),\n ]);\n annotateAsPure(call);\n\n path.replaceWith(call);\n }\n\n node.flags = transformFlags(regexpuOptions, newFlags ?? node.flags);\n },\n },\n };\n}\n\nfunction isRegExpTest(path: NodePath) {\n return (\n path.parentPath.isMemberExpression({\n object: path.node,\n computed: false,\n }) && path.parentPath.get(\"property\").isIdentifier({ name: \"test\" })\n );\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js b/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js index 22c1df230..44fa59bd8 100644 --- a/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js +++ b/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js @@ -22,7 +22,7 @@ function generateRegexpuOptions(pattern, toTransform) { }; return { unicodeFlag: feat("unicodeFlag"), - unicodeSetsFlag: feat("unicodeSetsFlag") || feat("unicodeSetsFlag_syntax", "parse"), + unicodeSetsFlag: feat("unicodeSetsFlag") || "parse", dotAllFlag: feat("dotAllFlag"), unicodePropertyEscapes: feat("unicodePropertyEscape"), namedGroups: feat("namedCaptureGroups") || featDuplicateNamedGroups(), diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js.map b/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js.map index 7f09ef777..27ace18c2 100644 --- a/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js.map +++ b/node_modules/@babel/helper-create-regexp-features-plugin/lib/util.js.map @@ -1 +1 @@ -{"version":3,"names":["_features","require","generateRegexpuOptions","pattern","toTransform","feat","name","ok","hasFeature","FEATURES","featDuplicateNamedGroups","regex","seen","Set","match","exec","add","has","unicodeFlag","unicodeSetsFlag","dotAllFlag","unicodePropertyEscapes","namedGroups","onNamedGroup","modifiers","canSkipRegexpu","node","options","flags","includes","test","transformFlags","regexpuOptions","replace"],"sources":["../src/util.ts"],"sourcesContent":["import type { types as t } from \"@babel/core\";\nimport { FEATURES, hasFeature } from \"./features\";\n\nimport type { RegexpuOptions } from \"regexpu-core\";\n\nexport function generateRegexpuOptions(\n pattern: string,\n toTransform: number,\n): RegexpuOptions {\n type Experimental = 1;\n\n const feat = (\n name: keyof typeof FEATURES,\n ok: \"transform\" | (Stability extends 0 ? never : \"parse\") = \"transform\",\n ) => {\n return hasFeature(toTransform, FEATURES[name]) ? ok : false;\n };\n\n const featDuplicateNamedGroups = (): \"transform\" | false => {\n if (!feat(\"duplicateNamedCaptureGroups\")) return false;\n\n // This can return false positive, for example for /\\(?\\)/.\n // However, it's such a rare occurrence that it's ok to compile\n // the regexp even if we only need to compile regexps with\n // duplicate named capturing groups.\n const regex = /\\(\\?<([^>]+)>/g;\n const seen = new Set();\n for (let match; (match = regex.exec(pattern)); seen.add(match[1])) {\n if (seen.has(match[1])) return \"transform\";\n }\n return false;\n };\n\n return {\n unicodeFlag: feat(\"unicodeFlag\"),\n unicodeSetsFlag:\n feat(\"unicodeSetsFlag\") ||\n feat(\"unicodeSetsFlag_syntax\", \"parse\"),\n dotAllFlag: feat(\"dotAllFlag\"),\n unicodePropertyEscapes: feat(\"unicodePropertyEscape\"),\n namedGroups: feat(\"namedCaptureGroups\") || featDuplicateNamedGroups(),\n onNamedGroup: () => {},\n modifiers: feat(\"modifiers\"),\n };\n}\n\nexport function canSkipRegexpu(\n node: t.RegExpLiteral,\n options: RegexpuOptions,\n): boolean {\n const { flags, pattern } = node;\n\n if (flags.includes(\"v\")) {\n if (options.unicodeSetsFlag === \"transform\") return false;\n }\n\n if (flags.includes(\"u\")) {\n if (options.unicodeFlag === \"transform\") return false;\n if (\n options.unicodePropertyEscapes === \"transform\" &&\n /\\\\[pP]{/.test(pattern)\n ) {\n return false;\n }\n }\n\n if (flags.includes(\"s\")) {\n if (options.dotAllFlag === \"transform\") return false;\n }\n\n if (options.namedGroups === \"transform\" && /\\(\\?<(?![=!])/.test(pattern)) {\n return false;\n }\n\n if (options.modifiers === \"transform\" && /\\(\\?[\\w-]+:/.test(pattern)) {\n return false;\n }\n\n return true;\n}\n\nexport function transformFlags(regexpuOptions: RegexpuOptions, flags: string) {\n if (regexpuOptions.unicodeSetsFlag === \"transform\") {\n flags = flags.replace(\"v\", \"u\");\n }\n if (regexpuOptions.unicodeFlag === \"transform\") {\n flags = flags.replace(\"u\", \"\");\n }\n if (regexpuOptions.dotAllFlag === \"transform\") {\n flags = flags.replace(\"s\", \"\");\n }\n return flags;\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_features","require","generateRegexpuOptions","pattern","toTransform","feat","name","ok","hasFeature","FEATURES","featDuplicateNamedGroups","regex","seen","Set","match","exec","add","has","unicodeFlag","unicodeSetsFlag","dotAllFlag","unicodePropertyEscapes","namedGroups","onNamedGroup","modifiers","canSkipRegexpu","node","options","flags","includes","test","transformFlags","regexpuOptions","replace"],"sources":["../src/util.ts"],"sourcesContent":["import type { types as t } from \"@babel/core\";\nimport { FEATURES, hasFeature } from \"./features\";\n\nimport type { RegexpuOptions } from \"regexpu-core\";\n\nexport function generateRegexpuOptions(\n pattern: string,\n toTransform: number,\n): RegexpuOptions {\n type Experimental = 1;\n\n const feat = (\n name: keyof typeof FEATURES,\n ok: \"transform\" | (Stability extends 0 ? never : \"parse\") = \"transform\",\n ) => {\n return hasFeature(toTransform, FEATURES[name]) ? ok : false;\n };\n\n const featDuplicateNamedGroups = (): \"transform\" | false => {\n if (!feat(\"duplicateNamedCaptureGroups\")) return false;\n\n // This can return false positive, for example for /\\(?\\)/.\n // However, it's such a rare occurrence that it's ok to compile\n // the regexp even if we only need to compile regexps with\n // duplicate named capturing groups.\n const regex = /\\(\\?<([^>]+)>/g;\n const seen = new Set();\n for (let match; (match = regex.exec(pattern)); seen.add(match[1])) {\n if (seen.has(match[1])) return \"transform\";\n }\n return false;\n };\n\n return {\n unicodeFlag: feat(\"unicodeFlag\"),\n unicodeSetsFlag: feat(\"unicodeSetsFlag\") || \"parse\",\n dotAllFlag: feat(\"dotAllFlag\"),\n unicodePropertyEscapes: feat(\"unicodePropertyEscape\"),\n namedGroups: feat(\"namedCaptureGroups\") || featDuplicateNamedGroups(),\n onNamedGroup: () => {},\n modifiers: feat(\"modifiers\"),\n };\n}\n\nexport function canSkipRegexpu(\n node: t.RegExpLiteral,\n options: RegexpuOptions,\n): boolean {\n const { flags, pattern } = node;\n\n if (flags.includes(\"v\")) {\n if (options.unicodeSetsFlag === \"transform\") return false;\n }\n\n if (flags.includes(\"u\")) {\n if (options.unicodeFlag === \"transform\") return false;\n if (\n options.unicodePropertyEscapes === \"transform\" &&\n /\\\\[pP]{/.test(pattern)\n ) {\n return false;\n }\n }\n\n if (flags.includes(\"s\")) {\n if (options.dotAllFlag === \"transform\") return false;\n }\n\n if (options.namedGroups === \"transform\" && /\\(\\?<(?![=!])/.test(pattern)) {\n return false;\n }\n\n if (options.modifiers === \"transform\" && /\\(\\?[\\w-]+:/.test(pattern)) {\n return false;\n }\n\n return true;\n}\n\nexport function transformFlags(regexpuOptions: RegexpuOptions, flags: string) {\n if (regexpuOptions.unicodeSetsFlag === \"transform\") {\n flags = flags.replace(\"v\", \"u\");\n }\n if (regexpuOptions.unicodeFlag === \"transform\") {\n flags = flags.replace(\"u\", \"\");\n }\n if (regexpuOptions.dotAllFlag === \"transform\") {\n flags = flags.replace(\"s\", \"\");\n }\n return flags;\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAIO,SAASC,sBAAsBA,CACpCC,OAAe,EACfC,WAAmB,EACH;EAGhB,MAAMC,IAAI,GAAGA,CACXC,IAA2B,EAC3BC,EAAyD,GAAG,WAAW,KACpE;IACH,OAAO,IAAAC,oBAAU,EAACJ,WAAW,EAAEK,kBAAQ,CAACH,IAAI,CAAC,CAAC,GAAGC,EAAE,GAAG,KAAK;EAC7D,CAAC;EAED,MAAMG,wBAAwB,GAAGA,CAAA,KAA2B;IAC1D,IAAI,CAACL,IAAI,CAAC,6BAA6B,CAAC,EAAE,OAAO,KAAK;IAMtD,MAAMM,KAAK,GAAG,gBAAgB;IAC9B,MAAMC,IAAI,GAAG,IAAIC,GAAG,CAAC,CAAC;IACtB,KAAK,IAAIC,KAAK,EAAGA,KAAK,GAAGH,KAAK,CAACI,IAAI,CAACZ,OAAO,CAAC,EAAGS,IAAI,CAACI,GAAG,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;MACjE,IAAIF,IAAI,CAACK,GAAG,CAACH,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,WAAW;IAC5C;IACA,OAAO,KAAK;EACd,CAAC;EAED,OAAO;IACLI,WAAW,EAAEb,IAAI,CAAC,aAAa,CAAC;IAChCc,eAAe,EAAEd,IAAI,CAAe,iBAAiB,CAAC,IAAI,OAAO;IACjEe,UAAU,EAAEf,IAAI,CAAC,YAAY,CAAC;IAC9BgB,sBAAsB,EAAEhB,IAAI,CAAC,uBAAuB,CAAC;IACrDiB,WAAW,EAAEjB,IAAI,CAAC,oBAAoB,CAAC,IAAIK,wBAAwB,CAAC,CAAC;IACrEa,YAAY,EAAEA,CAAA,KAAM,CAAC,CAAC;IACtBC,SAAS,EAAEnB,IAAI,CAAC,WAAW;EAC7B,CAAC;AACH;AAEO,SAASoB,cAAcA,CAC5BC,IAAqB,EACrBC,OAAuB,EACd;EACT,MAAM;IAAEC,KAAK;IAAEzB;EAAQ,CAAC,GAAGuB,IAAI;EAE/B,IAAIE,KAAK,CAACC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACvB,IAAIF,OAAO,CAACR,eAAe,KAAK,WAAW,EAAE,OAAO,KAAK;EAC3D;EAEA,IAAIS,KAAK,CAACC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACvB,IAAIF,OAAO,CAACT,WAAW,KAAK,WAAW,EAAE,OAAO,KAAK;IACrD,IACES,OAAO,CAACN,sBAAsB,KAAK,WAAW,IAC9C,SAAS,CAACS,IAAI,CAAC3B,OAAO,CAAC,EACvB;MACA,OAAO,KAAK;IACd;EACF;EAEA,IAAIyB,KAAK,CAACC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACvB,IAAIF,OAAO,CAACP,UAAU,KAAK,WAAW,EAAE,OAAO,KAAK;EACtD;EAEA,IAAIO,OAAO,CAACL,WAAW,KAAK,WAAW,IAAI,eAAe,CAACQ,IAAI,CAAC3B,OAAO,CAAC,EAAE;IACxE,OAAO,KAAK;EACd;EAEA,IAAIwB,OAAO,CAACH,SAAS,KAAK,WAAW,IAAI,aAAa,CAACM,IAAI,CAAC3B,OAAO,CAAC,EAAE;IACpE,OAAO,KAAK;EACd;EAEA,OAAO,IAAI;AACb;AAEO,SAAS4B,cAAcA,CAACC,cAA8B,EAAEJ,KAAa,EAAE;EAC5E,IAAII,cAAc,CAACb,eAAe,KAAK,WAAW,EAAE;IAClDS,KAAK,GAAGA,KAAK,CAACK,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;EACjC;EACA,IAAID,cAAc,CAACd,WAAW,KAAK,WAAW,EAAE;IAC9CU,KAAK,GAAGA,KAAK,CAACK,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;EAChC;EACA,IAAID,cAAc,CAACZ,UAAU,KAAK,WAAW,EAAE;IAC7CQ,KAAK,GAAGA,KAAK,CAACK,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;EAChC;EACA,OAAOL,KAAK;AACd"} \ No newline at end of file diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/.bin/semver b/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/.bin/semver new file mode 120000 index 000000000..5aaadf42c --- /dev/null +++ b/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/.bin/semver @@ -0,0 +1 @@ +../semver/bin/semver.js \ No newline at end of file diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/CHANGELOG.md b/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/CHANGELOG.md new file mode 100644 index 000000000..f567dd3fe --- /dev/null +++ b/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/CHANGELOG.md @@ -0,0 +1,70 @@ +# changes log + +## 6.2.0 + +* Coerce numbers to strings when passed to semver.coerce() +* Add `rtl` option to coerce from right to left + +## 6.1.3 + +* Handle X-ranges properly in includePrerelease mode + +## 6.1.2 + +* Do not throw when testing invalid version strings + +## 6.1.1 + +* Add options support for semver.coerce() +* Handle undefined version passed to Range.test + +## 6.1.0 + +* Add semver.compareBuild function +* Support `*` in semver.intersects + +## 6.0 + +* Fix `intersects` logic. + + This is technically a bug fix, but since it is also a change to behavior + that may require users updating their code, it is marked as a major + version increment. + +## 5.7 + +* Add `minVersion` method + +## 5.6 + +* Move boolean `loose` param to an options object, with + backwards-compatibility protection. +* Add ability to opt out of special prerelease version handling with + the `includePrerelease` option flag. + +## 5.5 + +* Add version coercion capabilities + +## 5.4 + +* Add intersection checking + +## 5.3 + +* Add `minSatisfying` method + +## 5.2 + +* Add `prerelease(v)` that returns prerelease components + +## 5.1 + +* Add Backus-Naur for ranges +* Remove excessively cute inspection methods + +## 5.0 + +* Remove AMD/Browserified build artifacts +* Fix ltr and gtr when using the `*` range +* Fix for range `*` with a prerelease identifier diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/LICENSE b/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/LICENSE new file mode 100644 index 000000000..19129e315 --- /dev/null +++ b/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/README.md b/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/README.md new file mode 100644 index 000000000..2293a14fd --- /dev/null +++ b/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/README.md @@ -0,0 +1,443 @@ +semver(1) -- The semantic versioner for npm +=========================================== + +## Install + +```bash +npm install semver +```` + +## Usage + +As a node module: + +```js +const semver = require('semver') + +semver.valid('1.2.3') // '1.2.3' +semver.valid('a.b.c') // null +semver.clean(' =v1.2.3 ') // '1.2.3' +semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true +semver.gt('1.2.3', '9.8.7') // false +semver.lt('1.2.3', '9.8.7') // true +semver.minVersion('>=1.0.0') // '1.0.0' +semver.valid(semver.coerce('v2')) // '2.0.0' +semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7' +``` + +As a command-line utility: + +``` +$ semver -h + +A JavaScript implementation of the https://semver.org/ specification +Copyright Isaac Z. Schlueter + +Usage: semver [options] [ [...]] +Prints valid versions sorted by SemVer precedence + +Options: +-r --range + Print versions that match the specified range. + +-i --increment [] + Increment a version by the specified level. Level can + be one of: major, minor, patch, premajor, preminor, + prepatch, or prerelease. Default level is 'patch'. + Only one version may be specified. + +--preid + Identifier to be used to prefix premajor, preminor, + prepatch or prerelease version increments. + +-l --loose + Interpret versions and ranges loosely + +-p --include-prerelease + Always include prerelease versions in range matching + +-c --coerce + Coerce a string into SemVer if possible + (does not imply --loose) + +--rtl + Coerce version strings right to left + +--ltr + Coerce version strings left to right (default) + +Program exits successfully if any valid version satisfies +all supplied ranges, and prints all satisfying versions. + +If no satisfying versions are found, then exits failure. + +Versions are printed in ascending order, so supplying +multiple versions to the utility will just sort them. +``` + +## Versions + +A "version" is described by the `v2.0.0` specification found at +. + +A leading `"="` or `"v"` character is stripped off and ignored. + +## Ranges + +A `version range` is a set of `comparators` which specify versions +that satisfy the range. + +A `comparator` is composed of an `operator` and a `version`. The set +of primitive `operators` is: + +* `<` Less than +* `<=` Less than or equal to +* `>` Greater than +* `>=` Greater than or equal to +* `=` Equal. If no operator is specified, then equality is assumed, + so this operator is optional, but MAY be included. + +For example, the comparator `>=1.2.7` would match the versions +`1.2.7`, `1.2.8`, `2.5.3`, and `1.3.9`, but not the versions `1.2.6` +or `1.1.0`. + +Comparators can be joined by whitespace to form a `comparator set`, +which is satisfied by the **intersection** of all of the comparators +it includes. + +A range is composed of one or more comparator sets, joined by `||`. A +version matches a range if and only if every comparator in at least +one of the `||`-separated comparator sets is satisfied by the version. + +For example, the range `>=1.2.7 <1.3.0` would match the versions +`1.2.7`, `1.2.8`, and `1.2.99`, but not the versions `1.2.6`, `1.3.0`, +or `1.1.0`. + +The range `1.2.7 || >=1.2.9 <2.0.0` would match the versions `1.2.7`, +`1.2.9`, and `1.4.6`, but not the versions `1.2.8` or `2.0.0`. + +### Prerelease Tags + +If a version has a prerelease tag (for example, `1.2.3-alpha.3`) then +it will only be allowed to satisfy comparator sets if at least one +comparator with the same `[major, minor, patch]` tuple also has a +prerelease tag. + +For example, the range `>1.2.3-alpha.3` would be allowed to match the +version `1.2.3-alpha.7`, but it would *not* be satisfied by +`3.4.5-alpha.9`, even though `3.4.5-alpha.9` is technically "greater +than" `1.2.3-alpha.3` according to the SemVer sort rules. The version +range only accepts prerelease tags on the `1.2.3` version. The +version `3.4.5` *would* satisfy the range, because it does not have a +prerelease flag, and `3.4.5` is greater than `1.2.3-alpha.7`. + +The purpose for this behavior is twofold. First, prerelease versions +frequently are updated very quickly, and contain many breaking changes +that are (by the author's design) not yet fit for public consumption. +Therefore, by default, they are excluded from range matching +semantics. + +Second, a user who has opted into using a prerelease version has +clearly indicated the intent to use *that specific* set of +alpha/beta/rc versions. By including a prerelease tag in the range, +the user is indicating that they are aware of the risk. However, it +is still not appropriate to assume that they have opted into taking a +similar risk on the *next* set of prerelease versions. + +Note that this behavior can be suppressed (treating all prerelease +versions as if they were normal versions, for the purpose of range +matching) by setting the `includePrerelease` flag on the options +object to any +[functions](https://github.com/npm/node-semver#functions) that do +range matching. + +#### Prerelease Identifiers + +The method `.inc` takes an additional `identifier` string argument that +will append the value of the string as a prerelease identifier: + +```javascript +semver.inc('1.2.3', 'prerelease', 'beta') +// '1.2.4-beta.0' +``` + +command-line example: + +```bash +$ semver 1.2.3 -i prerelease --preid beta +1.2.4-beta.0 +``` + +Which then can be used to increment further: + +```bash +$ semver 1.2.4-beta.0 -i prerelease +1.2.4-beta.1 +``` + +### Advanced Range Syntax + +Advanced range syntax desugars to primitive comparators in +deterministic ways. + +Advanced ranges may be combined in the same way as primitive +comparators using white space or `||`. + +#### Hyphen Ranges `X.Y.Z - A.B.C` + +Specifies an inclusive set. + +* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4` + +If a partial version is provided as the first version in the inclusive +range, then the missing pieces are replaced with zeroes. + +* `1.2 - 2.3.4` := `>=1.2.0 <=2.3.4` + +If a partial version is provided as the second version in the +inclusive range, then all versions that start with the supplied parts +of the tuple are accepted, but nothing that would be greater than the +provided tuple parts. + +* `1.2.3 - 2.3` := `>=1.2.3 <2.4.0` +* `1.2.3 - 2` := `>=1.2.3 <3.0.0` + +#### X-Ranges `1.2.x` `1.X` `1.2.*` `*` + +Any of `X`, `x`, or `*` may be used to "stand in" for one of the +numeric values in the `[major, minor, patch]` tuple. + +* `*` := `>=0.0.0` (Any version satisfies) +* `1.x` := `>=1.0.0 <2.0.0` (Matching major version) +* `1.2.x` := `>=1.2.0 <1.3.0` (Matching major and minor versions) + +A partial version range is treated as an X-Range, so the special +character is in fact optional. + +* `""` (empty string) := `*` := `>=0.0.0` +* `1` := `1.x.x` := `>=1.0.0 <2.0.0` +* `1.2` := `1.2.x` := `>=1.2.0 <1.3.0` + +#### Tilde Ranges `~1.2.3` `~1.2` `~1` + +Allows patch-level changes if a minor version is specified on the +comparator. Allows minor-level changes if not. + +* `~1.2.3` := `>=1.2.3 <1.(2+1).0` := `>=1.2.3 <1.3.0` +* `~1.2` := `>=1.2.0 <1.(2+1).0` := `>=1.2.0 <1.3.0` (Same as `1.2.x`) +* `~1` := `>=1.0.0 <(1+1).0.0` := `>=1.0.0 <2.0.0` (Same as `1.x`) +* `~0.2.3` := `>=0.2.3 <0.(2+1).0` := `>=0.2.3 <0.3.0` +* `~0.2` := `>=0.2.0 <0.(2+1).0` := `>=0.2.0 <0.3.0` (Same as `0.2.x`) +* `~0` := `>=0.0.0 <(0+1).0.0` := `>=0.0.0 <1.0.0` (Same as `0.x`) +* `~1.2.3-beta.2` := `>=1.2.3-beta.2 <1.3.0` Note that prereleases in + the `1.2.3` version will be allowed, if they are greater than or + equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but + `1.2.4-beta.2` would not, because it is a prerelease of a + different `[major, minor, patch]` tuple. + +#### Caret Ranges `^1.2.3` `^0.2.5` `^0.0.4` + +Allows changes that do not modify the left-most non-zero element in the +`[major, minor, patch]` tuple. In other words, this allows patch and +minor updates for versions `1.0.0` and above, patch updates for +versions `0.X >=0.1.0`, and *no* updates for versions `0.0.X`. + +Many authors treat a `0.x` version as if the `x` were the major +"breaking-change" indicator. + +Caret ranges are ideal when an author may make breaking changes +between `0.2.4` and `0.3.0` releases, which is a common practice. +However, it presumes that there will *not* be breaking changes between +`0.2.4` and `0.2.5`. It allows for changes that are presumed to be +additive (but non-breaking), according to commonly observed practices. + +* `^1.2.3` := `>=1.2.3 <2.0.0` +* `^0.2.3` := `>=0.2.3 <0.3.0` +* `^0.0.3` := `>=0.0.3 <0.0.4` +* `^1.2.3-beta.2` := `>=1.2.3-beta.2 <2.0.0` Note that prereleases in + the `1.2.3` version will be allowed, if they are greater than or + equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but + `1.2.4-beta.2` would not, because it is a prerelease of a + different `[major, minor, patch]` tuple. +* `^0.0.3-beta` := `>=0.0.3-beta <0.0.4` Note that prereleases in the + `0.0.3` version *only* will be allowed, if they are greater than or + equal to `beta`. So, `0.0.3-pr.2` would be allowed. + +When parsing caret ranges, a missing `patch` value desugars to the +number `0`, but will allow flexibility within that value, even if the +major and minor versions are both `0`. + +* `^1.2.x` := `>=1.2.0 <2.0.0` +* `^0.0.x` := `>=0.0.0 <0.1.0` +* `^0.0` := `>=0.0.0 <0.1.0` + +A missing `minor` and `patch` values will desugar to zero, but also +allow flexibility within those values, even if the major version is +zero. + +* `^1.x` := `>=1.0.0 <2.0.0` +* `^0.x` := `>=0.0.0 <1.0.0` + +### Range Grammar + +Putting all this together, here is a Backus-Naur grammar for ranges, +for the benefit of parser authors: + +```bnf +range-set ::= range ( logical-or range ) * +logical-or ::= ( ' ' ) * '||' ( ' ' ) * +range ::= hyphen | simple ( ' ' simple ) * | '' +hyphen ::= partial ' - ' partial +simple ::= primitive | partial | tilde | caret +primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial +partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? +xr ::= 'x' | 'X' | '*' | nr +nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) * +tilde ::= '~' partial +caret ::= '^' partial +qualifier ::= ( '-' pre )? ( '+' build )? +pre ::= parts +build ::= parts +parts ::= part ( '.' part ) * +part ::= nr | [-0-9A-Za-z]+ +``` + +## Functions + +All methods and classes take a final `options` object argument. All +options in this object are `false` by default. The options supported +are: + +- `loose` Be more forgiving about not-quite-valid semver strings. + (Any resulting output will always be 100% strict compliant, of + course.) For backwards compatibility reasons, if the `options` + argument is a boolean value instead of an object, it is interpreted + to be the `loose` param. +- `includePrerelease` Set to suppress the [default + behavior](https://github.com/npm/node-semver#prerelease-tags) of + excluding prerelease tagged versions from ranges unless they are + explicitly opted into. + +Strict-mode Comparators and Ranges will be strict about the SemVer +strings that they parse. + +* `valid(v)`: Return the parsed version, or null if it's not valid. +* `inc(v, release)`: Return the version incremented by the release + type (`major`, `premajor`, `minor`, `preminor`, `patch`, + `prepatch`, or `prerelease`), or null if it's not valid + * `premajor` in one call will bump the version up to the next major + version and down to a prerelease of that major version. + `preminor`, and `prepatch` work the same way. + * If called from a non-prerelease version, the `prerelease` will work the + same as `prepatch`. It increments the patch version, then makes a + prerelease. If the input version is already a prerelease it simply + increments it. +* `prerelease(v)`: Returns an array of prerelease components, or null + if none exist. Example: `prerelease('1.2.3-alpha.1') -> ['alpha', 1]` +* `major(v)`: Return the major version number. +* `minor(v)`: Return the minor version number. +* `patch(v)`: Return the patch version number. +* `intersects(r1, r2, loose)`: Return true if the two supplied ranges + or comparators intersect. +* `parse(v)`: Attempt to parse a string as a semantic version, returning either + a `SemVer` object or `null`. + +### Comparison + +* `gt(v1, v2)`: `v1 > v2` +* `gte(v1, v2)`: `v1 >= v2` +* `lt(v1, v2)`: `v1 < v2` +* `lte(v1, v2)`: `v1 <= v2` +* `eq(v1, v2)`: `v1 == v2` This is true if they're logically equivalent, + even if they're not the exact same string. You already know how to + compare strings. +* `neq(v1, v2)`: `v1 != v2` The opposite of `eq`. +* `cmp(v1, comparator, v2)`: Pass in a comparison string, and it'll call + the corresponding function above. `"==="` and `"!=="` do simple + string comparison, but are included for completeness. Throws if an + invalid comparison string is provided. +* `compare(v1, v2)`: Return `0` if `v1 == v2`, or `1` if `v1` is greater, or `-1` if + `v2` is greater. Sorts in ascending order if passed to `Array.sort()`. +* `rcompare(v1, v2)`: The reverse of compare. Sorts an array of versions + in descending order when passed to `Array.sort()`. +* `compareBuild(v1, v2)`: The same as `compare` but considers `build` when two versions + are equal. Sorts in ascending order if passed to `Array.sort()`. + `v2` is greater. Sorts in ascending order if passed to `Array.sort()`. +* `diff(v1, v2)`: Returns difference between two versions by the release type + (`major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, or `prerelease`), + or null if the versions are the same. + +### Comparators + +* `intersects(comparator)`: Return true if the comparators intersect + +### Ranges + +* `validRange(range)`: Return the valid range or null if it's not valid +* `satisfies(version, range)`: Return true if the version satisfies the + range. +* `maxSatisfying(versions, range)`: Return the highest version in the list + that satisfies the range, or `null` if none of them do. +* `minSatisfying(versions, range)`: Return the lowest version in the list + that satisfies the range, or `null` if none of them do. +* `minVersion(range)`: Return the lowest version that can possibly match + the given range. +* `gtr(version, range)`: Return `true` if version is greater than all the + versions possible in the range. +* `ltr(version, range)`: Return `true` if version is less than all the + versions possible in the range. +* `outside(version, range, hilo)`: Return true if the version is outside + the bounds of the range in either the high or low direction. The + `hilo` argument must be either the string `'>'` or `'<'`. (This is + the function called by `gtr` and `ltr`.) +* `intersects(range)`: Return true if any of the ranges comparators intersect + +Note that, since ranges may be non-contiguous, a version might not be +greater than a range, less than a range, *or* satisfy a range! For +example, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9` +until `2.0.0`, so the version `1.2.10` would not be greater than the +range (because `2.0.1` satisfies, which is higher), nor less than the +range (since `1.2.8` satisfies, which is lower), and it also does not +satisfy the range. + +If you want to know if a version satisfies or does not satisfy a +range, use the `satisfies(version, range)` function. + +### Coercion + +* `coerce(version, options)`: Coerces a string to semver if possible + +This aims to provide a very forgiving translation of a non-semver string to +semver. It looks for the first digit in a string, and consumes all +remaining characters which satisfy at least a partial semver (e.g., `1`, +`1.2`, `1.2.3`) up to the max permitted length (256 characters). Longer +versions are simply truncated (`4.6.3.9.2-alpha2` becomes `4.6.3`). All +surrounding text is simply ignored (`v3.4 replaces v3.3.1` becomes +`3.4.0`). Only text which lacks digits will fail coercion (`version one` +is not valid). The maximum length for any semver component considered for +coercion is 16 characters; longer components will be ignored +(`10000000000000000.4.7.4` becomes `4.7.4`). The maximum value for any +semver component is `Integer.MAX_SAFE_INTEGER || (2**53 - 1)`; higher value +components are invalid (`9999999999999999.4.7.4` is likely invalid). + +If the `options.rtl` flag is set, then `coerce` will return the right-most +coercible tuple that does not share an ending index with a longer coercible +tuple. For example, `1.2.3.4` will return `2.3.4` in rtl mode, not +`4.0.0`. `1.2.3/4` will return `4.0.0`, because the `4` is not a part of +any other overlapping SemVer tuple. + +### Clean + +* `clean(version)`: Clean a string to be a valid semver if possible + +This will return a cleaned and trimmed semver version. If the provided version is not valid a null will be returned. This does not work for ranges. + +ex. +* `s.clean(' = v 2.1.5foo')`: `null` +* `s.clean(' = v 2.1.5foo', { loose: true })`: `'2.1.5-foo'` +* `s.clean(' = v 2.1.5-foo')`: `null` +* `s.clean(' = v 2.1.5-foo', { loose: true })`: `'2.1.5-foo'` +* `s.clean('=v2.1.5')`: `'2.1.5'` +* `s.clean(' =v2.1.5')`: `2.1.5` +* `s.clean(' 2.1.5 ')`: `'2.1.5'` +* `s.clean('~1.0.0')`: `null` diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/bin/semver.js b/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/bin/semver.js new file mode 100755 index 000000000..666034a75 --- /dev/null +++ b/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/bin/semver.js @@ -0,0 +1,174 @@ +#!/usr/bin/env node +// Standalone semver comparison program. +// Exits successfully and prints matching version(s) if +// any supplied version is valid and passes all tests. + +var argv = process.argv.slice(2) + +var versions = [] + +var range = [] + +var inc = null + +var version = require('../package.json').version + +var loose = false + +var includePrerelease = false + +var coerce = false + +var rtl = false + +var identifier + +var semver = require('../semver') + +var reverse = false + +var options = {} + +main() + +function main () { + if (!argv.length) return help() + while (argv.length) { + var a = argv.shift() + var indexOfEqualSign = a.indexOf('=') + if (indexOfEqualSign !== -1) { + a = a.slice(0, indexOfEqualSign) + argv.unshift(a.slice(indexOfEqualSign + 1)) + } + switch (a) { + case '-rv': case '-rev': case '--rev': case '--reverse': + reverse = true + break + case '-l': case '--loose': + loose = true + break + case '-p': case '--include-prerelease': + includePrerelease = true + break + case '-v': case '--version': + versions.push(argv.shift()) + break + case '-i': case '--inc': case '--increment': + switch (argv[0]) { + case 'major': case 'minor': case 'patch': case 'prerelease': + case 'premajor': case 'preminor': case 'prepatch': + inc = argv.shift() + break + default: + inc = 'patch' + break + } + break + case '--preid': + identifier = argv.shift() + break + case '-r': case '--range': + range.push(argv.shift()) + break + case '-c': case '--coerce': + coerce = true + break + case '--rtl': + rtl = true + break + case '--ltr': + rtl = false + break + case '-h': case '--help': case '-?': + return help() + default: + versions.push(a) + break + } + } + + var options = { loose: loose, includePrerelease: includePrerelease, rtl: rtl } + + versions = versions.map(function (v) { + return coerce ? (semver.coerce(v, options) || { version: v }).version : v + }).filter(function (v) { + return semver.valid(v) + }) + if (!versions.length) return fail() + if (inc && (versions.length !== 1 || range.length)) { return failInc() } + + for (var i = 0, l = range.length; i < l; i++) { + versions = versions.filter(function (v) { + return semver.satisfies(v, range[i], options) + }) + if (!versions.length) return fail() + } + return success(versions) +} + +function failInc () { + console.error('--inc can only be used on a single version with no range') + fail() +} + +function fail () { process.exit(1) } + +function success () { + var compare = reverse ? 'rcompare' : 'compare' + versions.sort(function (a, b) { + return semver[compare](a, b, options) + }).map(function (v) { + return semver.clean(v, options) + }).map(function (v) { + return inc ? semver.inc(v, inc, options, identifier) : v + }).forEach(function (v, i, _) { console.log(v) }) +} + +function help () { + console.log(['SemVer ' + version, + '', + 'A JavaScript implementation of the https://semver.org/ specification', + 'Copyright Isaac Z. Schlueter', + '', + 'Usage: semver [options] [ [...]]', + 'Prints valid versions sorted by SemVer precedence', + '', + 'Options:', + '-r --range ', + ' Print versions that match the specified range.', + '', + '-i --increment []', + ' Increment a version by the specified level. Level can', + ' be one of: major, minor, patch, premajor, preminor,', + " prepatch, or prerelease. Default level is 'patch'.", + ' Only one version may be specified.', + '', + '--preid ', + ' Identifier to be used to prefix premajor, preminor,', + ' prepatch or prerelease version increments.', + '', + '-l --loose', + ' Interpret versions and ranges loosely', + '', + '-p --include-prerelease', + ' Always include prerelease versions in range matching', + '', + '-c --coerce', + ' Coerce a string into SemVer if possible', + ' (does not imply --loose)', + '', + '--rtl', + ' Coerce version strings right to left', + '', + '--ltr', + ' Coerce version strings left to right (default)', + '', + 'Program exits successfully if any valid version satisfies', + 'all supplied ranges, and prints all satisfying versions.', + '', + 'If no satisfying versions are found, then exits failure.', + '', + 'Versions are printed in ascending order, so supplying', + 'multiple versions to the utility will just sort them.' + ].join('\n')) +} diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/package.json b/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/package.json new file mode 100644 index 000000000..bdd442f50 --- /dev/null +++ b/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/package.json @@ -0,0 +1,28 @@ +{ + "name": "semver", + "version": "6.3.0", + "description": "The semantic version parser used by npm.", + "main": "semver.js", + "scripts": { + "test": "tap", + "preversion": "npm test", + "postversion": "npm publish", + "postpublish": "git push origin --follow-tags" + }, + "devDependencies": { + "tap": "^14.3.1" + }, + "license": "ISC", + "repository": "https://github.com/npm/node-semver", + "bin": { + "semver": "./bin/semver.js" + }, + "files": [ + "bin", + "range.bnf", + "semver.js" + ], + "tap": { + "check-coverage": true + } +} diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/range.bnf b/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/range.bnf new file mode 100644 index 000000000..d4c6ae0d7 --- /dev/null +++ b/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/range.bnf @@ -0,0 +1,16 @@ +range-set ::= range ( logical-or range ) * +logical-or ::= ( ' ' ) * '||' ( ' ' ) * +range ::= hyphen | simple ( ' ' simple ) * | '' +hyphen ::= partial ' - ' partial +simple ::= primitive | partial | tilde | caret +primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial +partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? +xr ::= 'x' | 'X' | '*' | nr +nr ::= '0' | [1-9] ( [0-9] ) * +tilde ::= '~' partial +caret ::= '^' partial +qualifier ::= ( '-' pre )? ( '+' build )? +pre ::= parts +build ::= parts +parts ::= part ( '.' part ) * +part ::= nr | [-0-9A-Za-z]+ diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/semver.js b/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/semver.js new file mode 100644 index 000000000..636fa4365 --- /dev/null +++ b/node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver/semver.js @@ -0,0 +1,1596 @@ +exports = module.exports = SemVer + +var debug +/* istanbul ignore next */ +if (typeof process === 'object' && + process.env && + process.env.NODE_DEBUG && + /\bsemver\b/i.test(process.env.NODE_DEBUG)) { + debug = function () { + var args = Array.prototype.slice.call(arguments, 0) + args.unshift('SEMVER') + console.log.apply(console, args) + } +} else { + debug = function () {} +} + +// Note: this is the semver.org version of the spec that it implements +// Not necessarily the package version of this code. +exports.SEMVER_SPEC_VERSION = '2.0.0' + +var MAX_LENGTH = 256 +var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || + /* istanbul ignore next */ 9007199254740991 + +// Max safe segment length for coercion. +var MAX_SAFE_COMPONENT_LENGTH = 16 + +// The actual regexps go on exports.re +var re = exports.re = [] +var src = exports.src = [] +var t = exports.tokens = {} +var R = 0 + +function tok (n) { + t[n] = R++ +} + +// The following Regular Expressions can be used for tokenizing, +// validating, and parsing SemVer version strings. + +// ## Numeric Identifier +// A single `0`, or a non-zero digit followed by zero or more digits. + +tok('NUMERICIDENTIFIER') +src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*' +tok('NUMERICIDENTIFIERLOOSE') +src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+' + +// ## Non-numeric Identifier +// Zero or more digits, followed by a letter or hyphen, and then zero or +// more letters, digits, or hyphens. + +tok('NONNUMERICIDENTIFIER') +src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*' + +// ## Main Version +// Three dot-separated numeric identifiers. + +tok('MAINVERSION') +src[t.MAINVERSION] = '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + + '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + + '(' + src[t.NUMERICIDENTIFIER] + ')' + +tok('MAINVERSIONLOOSE') +src[t.MAINVERSIONLOOSE] = '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')' + +// ## Pre-release Version Identifier +// A numeric identifier, or a non-numeric identifier. + +tok('PRERELEASEIDENTIFIER') +src[t.PRERELEASEIDENTIFIER] = '(?:' + src[t.NUMERICIDENTIFIER] + + '|' + src[t.NONNUMERICIDENTIFIER] + ')' + +tok('PRERELEASEIDENTIFIERLOOSE') +src[t.PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[t.NUMERICIDENTIFIERLOOSE] + + '|' + src[t.NONNUMERICIDENTIFIER] + ')' + +// ## Pre-release Version +// Hyphen, followed by one or more dot-separated pre-release version +// identifiers. + +tok('PRERELEASE') +src[t.PRERELEASE] = '(?:-(' + src[t.PRERELEASEIDENTIFIER] + + '(?:\\.' + src[t.PRERELEASEIDENTIFIER] + ')*))' + +tok('PRERELEASELOOSE') +src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] + + '(?:\\.' + src[t.PRERELEASEIDENTIFIERLOOSE] + ')*))' + +// ## Build Metadata Identifier +// Any combination of digits, letters, or hyphens. + +tok('BUILDIDENTIFIER') +src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+' + +// ## Build Metadata +// Plus sign, followed by one or more period-separated build metadata +// identifiers. + +tok('BUILD') +src[t.BUILD] = '(?:\\+(' + src[t.BUILDIDENTIFIER] + + '(?:\\.' + src[t.BUILDIDENTIFIER] + ')*))' + +// ## Full Version String +// A main version, followed optionally by a pre-release version and +// build metadata. + +// Note that the only major, minor, patch, and pre-release sections of +// the version string are capturing groups. The build metadata is not a +// capturing group, because it should not ever be used in version +// comparison. + +tok('FULL') +tok('FULLPLAIN') +src[t.FULLPLAIN] = 'v?' + src[t.MAINVERSION] + + src[t.PRERELEASE] + '?' + + src[t.BUILD] + '?' + +src[t.FULL] = '^' + src[t.FULLPLAIN] + '$' + +// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. +// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty +// common in the npm registry. +tok('LOOSEPLAIN') +src[t.LOOSEPLAIN] = '[v=\\s]*' + src[t.MAINVERSIONLOOSE] + + src[t.PRERELEASELOOSE] + '?' + + src[t.BUILD] + '?' + +tok('LOOSE') +src[t.LOOSE] = '^' + src[t.LOOSEPLAIN] + '$' + +tok('GTLT') +src[t.GTLT] = '((?:<|>)?=?)' + +// Something like "2.*" or "1.2.x". +// Note that "x.x" is a valid xRange identifer, meaning "any version" +// Only the first item is strictly required. +tok('XRANGEIDENTIFIERLOOSE') +src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + '|x|X|\\*' +tok('XRANGEIDENTIFIER') +src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + '|x|X|\\*' + +tok('XRANGEPLAIN') +src[t.XRANGEPLAIN] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIER] + ')' + + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + + '(?:' + src[t.PRERELEASE] + ')?' + + src[t.BUILD] + '?' + + ')?)?' + +tok('XRANGEPLAINLOOSE') +src[t.XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + + '(?:' + src[t.PRERELEASELOOSE] + ')?' + + src[t.BUILD] + '?' + + ')?)?' + +tok('XRANGE') +src[t.XRANGE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAIN] + '$' +tok('XRANGELOOSE') +src[t.XRANGELOOSE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAINLOOSE] + '$' + +// Coercion. +// Extract anything that could conceivably be a part of a valid semver +tok('COERCE') +src[t.COERCE] = '(^|[^\\d])' + + '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + + '(?:$|[^\\d])' +tok('COERCERTL') +re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g') + +// Tilde ranges. +// Meaning is "reasonably at or greater than" +tok('LONETILDE') +src[t.LONETILDE] = '(?:~>?)' + +tok('TILDETRIM') +src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+' +re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g') +var tildeTrimReplace = '$1~' + +tok('TILDE') +src[t.TILDE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAIN] + '$' +tok('TILDELOOSE') +src[t.TILDELOOSE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + '$' + +// Caret ranges. +// Meaning is "at least and backwards compatible with" +tok('LONECARET') +src[t.LONECARET] = '(?:\\^)' + +tok('CARETTRIM') +src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+' +re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g') +var caretTrimReplace = '$1^' + +tok('CARET') +src[t.CARET] = '^' + src[t.LONECARET] + src[t.XRANGEPLAIN] + '$' +tok('CARETLOOSE') +src[t.CARETLOOSE] = '^' + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + '$' + +// A simple gt/lt/eq thing, or just "" to indicate "any version" +tok('COMPARATORLOOSE') +src[t.COMPARATORLOOSE] = '^' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + ')$|^$' +tok('COMPARATOR') +src[t.COMPARATOR] = '^' + src[t.GTLT] + '\\s*(' + src[t.FULLPLAIN] + ')$|^$' + +// An expression to strip any whitespace between the gtlt and the thing +// it modifies, so that `> 1.2.3` ==> `>1.2.3` +tok('COMPARATORTRIM') +src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] + + '\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')' + +// this one has to use the /g flag +re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g') +var comparatorTrimReplace = '$1$2$3' + +// Something like `1.2.3 - 1.2.4` +// Note that these all use the loose form, because they'll be +// checked against either the strict or loose comparator form +// later. +tok('HYPHENRANGE') +src[t.HYPHENRANGE] = '^\\s*(' + src[t.XRANGEPLAIN] + ')' + + '\\s+-\\s+' + + '(' + src[t.XRANGEPLAIN] + ')' + + '\\s*$' + +tok('HYPHENRANGELOOSE') +src[t.HYPHENRANGELOOSE] = '^\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' + + '\\s+-\\s+' + + '(' + src[t.XRANGEPLAINLOOSE] + ')' + + '\\s*$' + +// Star ranges basically just allow anything at all. +tok('STAR') +src[t.STAR] = '(<|>)?=?\\s*\\*' + +// Compile to actual regexp objects. +// All are flag-free, unless they were created above with a flag. +for (var i = 0; i < R; i++) { + debug(i, src[i]) + if (!re[i]) { + re[i] = new RegExp(src[i]) + } +} + +exports.parse = parse +function parse (version, options) { + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + + if (version instanceof SemVer) { + return version + } + + if (typeof version !== 'string') { + return null + } + + if (version.length > MAX_LENGTH) { + return null + } + + var r = options.loose ? re[t.LOOSE] : re[t.FULL] + if (!r.test(version)) { + return null + } + + try { + return new SemVer(version, options) + } catch (er) { + return null + } +} + +exports.valid = valid +function valid (version, options) { + var v = parse(version, options) + return v ? v.version : null +} + +exports.clean = clean +function clean (version, options) { + var s = parse(version.trim().replace(/^[=v]+/, ''), options) + return s ? s.version : null +} + +exports.SemVer = SemVer + +function SemVer (version, options) { + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + if (version instanceof SemVer) { + if (version.loose === options.loose) { + return version + } else { + version = version.version + } + } else if (typeof version !== 'string') { + throw new TypeError('Invalid Version: ' + version) + } + + if (version.length > MAX_LENGTH) { + throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters') + } + + if (!(this instanceof SemVer)) { + return new SemVer(version, options) + } + + debug('SemVer', version, options) + this.options = options + this.loose = !!options.loose + + var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]) + + if (!m) { + throw new TypeError('Invalid Version: ' + version) + } + + this.raw = version + + // these are actually numbers + this.major = +m[1] + this.minor = +m[2] + this.patch = +m[3] + + if (this.major > MAX_SAFE_INTEGER || this.major < 0) { + throw new TypeError('Invalid major version') + } + + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { + throw new TypeError('Invalid minor version') + } + + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { + throw new TypeError('Invalid patch version') + } + + // numberify any prerelease numeric ids + if (!m[4]) { + this.prerelease = [] + } else { + this.prerelease = m[4].split('.').map(function (id) { + if (/^[0-9]+$/.test(id)) { + var num = +id + if (num >= 0 && num < MAX_SAFE_INTEGER) { + return num + } + } + return id + }) + } + + this.build = m[5] ? m[5].split('.') : [] + this.format() +} + +SemVer.prototype.format = function () { + this.version = this.major + '.' + this.minor + '.' + this.patch + if (this.prerelease.length) { + this.version += '-' + this.prerelease.join('.') + } + return this.version +} + +SemVer.prototype.toString = function () { + return this.version +} + +SemVer.prototype.compare = function (other) { + debug('SemVer.compare', this.version, this.options, other) + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + return this.compareMain(other) || this.comparePre(other) +} + +SemVer.prototype.compareMain = function (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + return compareIdentifiers(this.major, other.major) || + compareIdentifiers(this.minor, other.minor) || + compareIdentifiers(this.patch, other.patch) +} + +SemVer.prototype.comparePre = function (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + // NOT having a prerelease is > having one + if (this.prerelease.length && !other.prerelease.length) { + return -1 + } else if (!this.prerelease.length && other.prerelease.length) { + return 1 + } else if (!this.prerelease.length && !other.prerelease.length) { + return 0 + } + + var i = 0 + do { + var a = this.prerelease[i] + var b = other.prerelease[i] + debug('prerelease compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) +} + +SemVer.prototype.compareBuild = function (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + var i = 0 + do { + var a = this.build[i] + var b = other.build[i] + debug('prerelease compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) +} + +// preminor will bump the version up to the next minor release, and immediately +// down to pre-release. premajor and prepatch work the same way. +SemVer.prototype.inc = function (release, identifier) { + switch (release) { + case 'premajor': + this.prerelease.length = 0 + this.patch = 0 + this.minor = 0 + this.major++ + this.inc('pre', identifier) + break + case 'preminor': + this.prerelease.length = 0 + this.patch = 0 + this.minor++ + this.inc('pre', identifier) + break + case 'prepatch': + // If this is already a prerelease, it will bump to the next version + // drop any prereleases that might already exist, since they are not + // relevant at this point. + this.prerelease.length = 0 + this.inc('patch', identifier) + this.inc('pre', identifier) + break + // If the input is a non-prerelease version, this acts the same as + // prepatch. + case 'prerelease': + if (this.prerelease.length === 0) { + this.inc('patch', identifier) + } + this.inc('pre', identifier) + break + + case 'major': + // If this is a pre-major version, bump up to the same major version. + // Otherwise increment major. + // 1.0.0-5 bumps to 1.0.0 + // 1.1.0 bumps to 2.0.0 + if (this.minor !== 0 || + this.patch !== 0 || + this.prerelease.length === 0) { + this.major++ + } + this.minor = 0 + this.patch = 0 + this.prerelease = [] + break + case 'minor': + // If this is a pre-minor version, bump up to the same minor version. + // Otherwise increment minor. + // 1.2.0-5 bumps to 1.2.0 + // 1.2.1 bumps to 1.3.0 + if (this.patch !== 0 || this.prerelease.length === 0) { + this.minor++ + } + this.patch = 0 + this.prerelease = [] + break + case 'patch': + // If this is not a pre-release version, it will increment the patch. + // If it is a pre-release it will bump up to the same patch version. + // 1.2.0-5 patches to 1.2.0 + // 1.2.0 patches to 1.2.1 + if (this.prerelease.length === 0) { + this.patch++ + } + this.prerelease = [] + break + // This probably shouldn't be used publicly. + // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction. + case 'pre': + if (this.prerelease.length === 0) { + this.prerelease = [0] + } else { + var i = this.prerelease.length + while (--i >= 0) { + if (typeof this.prerelease[i] === 'number') { + this.prerelease[i]++ + i = -2 + } + } + if (i === -1) { + // didn't increment anything + this.prerelease.push(0) + } + } + if (identifier) { + // 1.2.0-beta.1 bumps to 1.2.0-beta.2, + // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 + if (this.prerelease[0] === identifier) { + if (isNaN(this.prerelease[1])) { + this.prerelease = [identifier, 0] + } + } else { + this.prerelease = [identifier, 0] + } + } + break + + default: + throw new Error('invalid increment argument: ' + release) + } + this.format() + this.raw = this.version + return this +} + +exports.inc = inc +function inc (version, release, loose, identifier) { + if (typeof (loose) === 'string') { + identifier = loose + loose = undefined + } + + try { + return new SemVer(version, loose).inc(release, identifier).version + } catch (er) { + return null + } +} + +exports.diff = diff +function diff (version1, version2) { + if (eq(version1, version2)) { + return null + } else { + var v1 = parse(version1) + var v2 = parse(version2) + var prefix = '' + if (v1.prerelease.length || v2.prerelease.length) { + prefix = 'pre' + var defaultResult = 'prerelease' + } + for (var key in v1) { + if (key === 'major' || key === 'minor' || key === 'patch') { + if (v1[key] !== v2[key]) { + return prefix + key + } + } + } + return defaultResult // may be undefined + } +} + +exports.compareIdentifiers = compareIdentifiers + +var numeric = /^[0-9]+$/ +function compareIdentifiers (a, b) { + var anum = numeric.test(a) + var bnum = numeric.test(b) + + if (anum && bnum) { + a = +a + b = +b + } + + return a === b ? 0 + : (anum && !bnum) ? -1 + : (bnum && !anum) ? 1 + : a < b ? -1 + : 1 +} + +exports.rcompareIdentifiers = rcompareIdentifiers +function rcompareIdentifiers (a, b) { + return compareIdentifiers(b, a) +} + +exports.major = major +function major (a, loose) { + return new SemVer(a, loose).major +} + +exports.minor = minor +function minor (a, loose) { + return new SemVer(a, loose).minor +} + +exports.patch = patch +function patch (a, loose) { + return new SemVer(a, loose).patch +} + +exports.compare = compare +function compare (a, b, loose) { + return new SemVer(a, loose).compare(new SemVer(b, loose)) +} + +exports.compareLoose = compareLoose +function compareLoose (a, b) { + return compare(a, b, true) +} + +exports.compareBuild = compareBuild +function compareBuild (a, b, loose) { + var versionA = new SemVer(a, loose) + var versionB = new SemVer(b, loose) + return versionA.compare(versionB) || versionA.compareBuild(versionB) +} + +exports.rcompare = rcompare +function rcompare (a, b, loose) { + return compare(b, a, loose) +} + +exports.sort = sort +function sort (list, loose) { + return list.sort(function (a, b) { + return exports.compareBuild(a, b, loose) + }) +} + +exports.rsort = rsort +function rsort (list, loose) { + return list.sort(function (a, b) { + return exports.compareBuild(b, a, loose) + }) +} + +exports.gt = gt +function gt (a, b, loose) { + return compare(a, b, loose) > 0 +} + +exports.lt = lt +function lt (a, b, loose) { + return compare(a, b, loose) < 0 +} + +exports.eq = eq +function eq (a, b, loose) { + return compare(a, b, loose) === 0 +} + +exports.neq = neq +function neq (a, b, loose) { + return compare(a, b, loose) !== 0 +} + +exports.gte = gte +function gte (a, b, loose) { + return compare(a, b, loose) >= 0 +} + +exports.lte = lte +function lte (a, b, loose) { + return compare(a, b, loose) <= 0 +} + +exports.cmp = cmp +function cmp (a, op, b, loose) { + switch (op) { + case '===': + if (typeof a === 'object') + a = a.version + if (typeof b === 'object') + b = b.version + return a === b + + case '!==': + if (typeof a === 'object') + a = a.version + if (typeof b === 'object') + b = b.version + return a !== b + + case '': + case '=': + case '==': + return eq(a, b, loose) + + case '!=': + return neq(a, b, loose) + + case '>': + return gt(a, b, loose) + + case '>=': + return gte(a, b, loose) + + case '<': + return lt(a, b, loose) + + case '<=': + return lte(a, b, loose) + + default: + throw new TypeError('Invalid operator: ' + op) + } +} + +exports.Comparator = Comparator +function Comparator (comp, options) { + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + + if (comp instanceof Comparator) { + if (comp.loose === !!options.loose) { + return comp + } else { + comp = comp.value + } + } + + if (!(this instanceof Comparator)) { + return new Comparator(comp, options) + } + + debug('comparator', comp, options) + this.options = options + this.loose = !!options.loose + this.parse(comp) + + if (this.semver === ANY) { + this.value = '' + } else { + this.value = this.operator + this.semver.version + } + + debug('comp', this) +} + +var ANY = {} +Comparator.prototype.parse = function (comp) { + var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR] + var m = comp.match(r) + + if (!m) { + throw new TypeError('Invalid comparator: ' + comp) + } + + this.operator = m[1] !== undefined ? m[1] : '' + if (this.operator === '=') { + this.operator = '' + } + + // if it literally is just '>' or '' then allow anything. + if (!m[2]) { + this.semver = ANY + } else { + this.semver = new SemVer(m[2], this.options.loose) + } +} + +Comparator.prototype.toString = function () { + return this.value +} + +Comparator.prototype.test = function (version) { + debug('Comparator.test', version, this.options.loose) + + if (this.semver === ANY || version === ANY) { + return true + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options) + } catch (er) { + return false + } + } + + return cmp(version, this.operator, this.semver, this.options) +} + +Comparator.prototype.intersects = function (comp, options) { + if (!(comp instanceof Comparator)) { + throw new TypeError('a Comparator is required') + } + + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + + var rangeTmp + + if (this.operator === '') { + if (this.value === '') { + return true + } + rangeTmp = new Range(comp.value, options) + return satisfies(this.value, rangeTmp, options) + } else if (comp.operator === '') { + if (comp.value === '') { + return true + } + rangeTmp = new Range(this.value, options) + return satisfies(comp.semver, rangeTmp, options) + } + + var sameDirectionIncreasing = + (this.operator === '>=' || this.operator === '>') && + (comp.operator === '>=' || comp.operator === '>') + var sameDirectionDecreasing = + (this.operator === '<=' || this.operator === '<') && + (comp.operator === '<=' || comp.operator === '<') + var sameSemVer = this.semver.version === comp.semver.version + var differentDirectionsInclusive = + (this.operator === '>=' || this.operator === '<=') && + (comp.operator === '>=' || comp.operator === '<=') + var oppositeDirectionsLessThan = + cmp(this.semver, '<', comp.semver, options) && + ((this.operator === '>=' || this.operator === '>') && + (comp.operator === '<=' || comp.operator === '<')) + var oppositeDirectionsGreaterThan = + cmp(this.semver, '>', comp.semver, options) && + ((this.operator === '<=' || this.operator === '<') && + (comp.operator === '>=' || comp.operator === '>')) + + return sameDirectionIncreasing || sameDirectionDecreasing || + (sameSemVer && differentDirectionsInclusive) || + oppositeDirectionsLessThan || oppositeDirectionsGreaterThan +} + +exports.Range = Range +function Range (range, options) { + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + + if (range instanceof Range) { + if (range.loose === !!options.loose && + range.includePrerelease === !!options.includePrerelease) { + return range + } else { + return new Range(range.raw, options) + } + } + + if (range instanceof Comparator) { + return new Range(range.value, options) + } + + if (!(this instanceof Range)) { + return new Range(range, options) + } + + this.options = options + this.loose = !!options.loose + this.includePrerelease = !!options.includePrerelease + + // First, split based on boolean or || + this.raw = range + this.set = range.split(/\s*\|\|\s*/).map(function (range) { + return this.parseRange(range.trim()) + }, this).filter(function (c) { + // throw out any that are not relevant for whatever reason + return c.length + }) + + if (!this.set.length) { + throw new TypeError('Invalid SemVer Range: ' + range) + } + + this.format() +} + +Range.prototype.format = function () { + this.range = this.set.map(function (comps) { + return comps.join(' ').trim() + }).join('||').trim() + return this.range +} + +Range.prototype.toString = function () { + return this.range +} + +Range.prototype.parseRange = function (range) { + var loose = this.options.loose + range = range.trim() + // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` + var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE] + range = range.replace(hr, hyphenReplace) + debug('hyphen replace', range) + // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` + range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace) + debug('comparator trim', range, re[t.COMPARATORTRIM]) + + // `~ 1.2.3` => `~1.2.3` + range = range.replace(re[t.TILDETRIM], tildeTrimReplace) + + // `^ 1.2.3` => `^1.2.3` + range = range.replace(re[t.CARETTRIM], caretTrimReplace) + + // normalize spaces + range = range.split(/\s+/).join(' ') + + // At this point, the range is completely trimmed and + // ready to be split into comparators. + + var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR] + var set = range.split(' ').map(function (comp) { + return parseComparator(comp, this.options) + }, this).join(' ').split(/\s+/) + if (this.options.loose) { + // in loose mode, throw out any that are not valid comparators + set = set.filter(function (comp) { + return !!comp.match(compRe) + }) + } + set = set.map(function (comp) { + return new Comparator(comp, this.options) + }, this) + + return set +} + +Range.prototype.intersects = function (range, options) { + if (!(range instanceof Range)) { + throw new TypeError('a Range is required') + } + + return this.set.some(function (thisComparators) { + return ( + isSatisfiable(thisComparators, options) && + range.set.some(function (rangeComparators) { + return ( + isSatisfiable(rangeComparators, options) && + thisComparators.every(function (thisComparator) { + return rangeComparators.every(function (rangeComparator) { + return thisComparator.intersects(rangeComparator, options) + }) + }) + ) + }) + ) + }) +} + +// take a set of comparators and determine whether there +// exists a version which can satisfy it +function isSatisfiable (comparators, options) { + var result = true + var remainingComparators = comparators.slice() + var testComparator = remainingComparators.pop() + + while (result && remainingComparators.length) { + result = remainingComparators.every(function (otherComparator) { + return testComparator.intersects(otherComparator, options) + }) + + testComparator = remainingComparators.pop() + } + + return result +} + +// Mostly just for testing and legacy API reasons +exports.toComparators = toComparators +function toComparators (range, options) { + return new Range(range, options).set.map(function (comp) { + return comp.map(function (c) { + return c.value + }).join(' ').trim().split(' ') + }) +} + +// comprised of xranges, tildes, stars, and gtlt's at this point. +// already replaced the hyphen ranges +// turn into a set of JUST comparators. +function parseComparator (comp, options) { + debug('comp', comp, options) + comp = replaceCarets(comp, options) + debug('caret', comp) + comp = replaceTildes(comp, options) + debug('tildes', comp) + comp = replaceXRanges(comp, options) + debug('xrange', comp) + comp = replaceStars(comp, options) + debug('stars', comp) + return comp +} + +function isX (id) { + return !id || id.toLowerCase() === 'x' || id === '*' +} + +// ~, ~> --> * (any, kinda silly) +// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0 +// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0 +// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0 +// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0 +// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0 +function replaceTildes (comp, options) { + return comp.trim().split(/\s+/).map(function (comp) { + return replaceTilde(comp, options) + }).join(' ') +} + +function replaceTilde (comp, options) { + var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE] + return comp.replace(r, function (_, M, m, p, pr) { + debug('tilde', comp, _, M, m, p, pr) + var ret + + if (isX(M)) { + ret = '' + } else if (isX(m)) { + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0' + } else if (isX(p)) { + // ~1.2 == >=1.2.0 <1.3.0 + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0' + } else if (pr) { + debug('replaceTilde pr', pr) + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + + ' <' + M + '.' + (+m + 1) + '.0' + } else { + // ~1.2.3 == >=1.2.3 <1.3.0 + ret = '>=' + M + '.' + m + '.' + p + + ' <' + M + '.' + (+m + 1) + '.0' + } + + debug('tilde return', ret) + return ret + }) +} + +// ^ --> * (any, kinda silly) +// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0 +// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0 +// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0 +// ^1.2.3 --> >=1.2.3 <2.0.0 +// ^1.2.0 --> >=1.2.0 <2.0.0 +function replaceCarets (comp, options) { + return comp.trim().split(/\s+/).map(function (comp) { + return replaceCaret(comp, options) + }).join(' ') +} + +function replaceCaret (comp, options) { + debug('caret', comp, options) + var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET] + return comp.replace(r, function (_, M, m, p, pr) { + debug('caret', comp, _, M, m, p, pr) + var ret + + if (isX(M)) { + ret = '' + } else if (isX(m)) { + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0' + } else if (isX(p)) { + if (M === '0') { + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0' + } else { + ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0' + } + } else if (pr) { + debug('replaceCaret pr', pr) + if (M === '0') { + if (m === '0') { + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + + ' <' + M + '.' + m + '.' + (+p + 1) + } else { + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + + ' <' + M + '.' + (+m + 1) + '.0' + } + } else { + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + + ' <' + (+M + 1) + '.0.0' + } + } else { + debug('no pr') + if (M === '0') { + if (m === '0') { + ret = '>=' + M + '.' + m + '.' + p + + ' <' + M + '.' + m + '.' + (+p + 1) + } else { + ret = '>=' + M + '.' + m + '.' + p + + ' <' + M + '.' + (+m + 1) + '.0' + } + } else { + ret = '>=' + M + '.' + m + '.' + p + + ' <' + (+M + 1) + '.0.0' + } + } + + debug('caret return', ret) + return ret + }) +} + +function replaceXRanges (comp, options) { + debug('replaceXRanges', comp, options) + return comp.split(/\s+/).map(function (comp) { + return replaceXRange(comp, options) + }).join(' ') +} + +function replaceXRange (comp, options) { + comp = comp.trim() + var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE] + return comp.replace(r, function (ret, gtlt, M, m, p, pr) { + debug('xRange', comp, ret, gtlt, M, m, p, pr) + var xM = isX(M) + var xm = xM || isX(m) + var xp = xm || isX(p) + var anyX = xp + + if (gtlt === '=' && anyX) { + gtlt = '' + } + + // if we're including prereleases in the match, then we need + // to fix this to -0, the lowest possible prerelease value + pr = options.includePrerelease ? '-0' : '' + + if (xM) { + if (gtlt === '>' || gtlt === '<') { + // nothing is allowed + ret = '<0.0.0-0' + } else { + // nothing is forbidden + ret = '*' + } + } else if (gtlt && anyX) { + // we know patch is an x, because we have any x at all. + // replace X with 0 + if (xm) { + m = 0 + } + p = 0 + + if (gtlt === '>') { + // >1 => >=2.0.0 + // >1.2 => >=1.3.0 + // >1.2.3 => >= 1.2.4 + gtlt = '>=' + if (xm) { + M = +M + 1 + m = 0 + p = 0 + } else { + m = +m + 1 + p = 0 + } + } else if (gtlt === '<=') { + // <=0.7.x is actually <0.8.0, since any 0.7.x should + // pass. Similarly, <=7.x is actually <8.0.0, etc. + gtlt = '<' + if (xm) { + M = +M + 1 + } else { + m = +m + 1 + } + } + + ret = gtlt + M + '.' + m + '.' + p + pr + } else if (xm) { + ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr + } else if (xp) { + ret = '>=' + M + '.' + m + '.0' + pr + + ' <' + M + '.' + (+m + 1) + '.0' + pr + } + + debug('xRange return', ret) + + return ret + }) +} + +// Because * is AND-ed with everything else in the comparator, +// and '' means "any version", just remove the *s entirely. +function replaceStars (comp, options) { + debug('replaceStars', comp, options) + // Looseness is ignored here. star is always as loose as it gets! + return comp.trim().replace(re[t.STAR], '') +} + +// This function is passed to string.replace(re[t.HYPHENRANGE]) +// M, m, patch, prerelease, build +// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 +// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do +// 1.2 - 3.4 => >=1.2.0 <3.5.0 +function hyphenReplace ($0, + from, fM, fm, fp, fpr, fb, + to, tM, tm, tp, tpr, tb) { + if (isX(fM)) { + from = '' + } else if (isX(fm)) { + from = '>=' + fM + '.0.0' + } else if (isX(fp)) { + from = '>=' + fM + '.' + fm + '.0' + } else { + from = '>=' + from + } + + if (isX(tM)) { + to = '' + } else if (isX(tm)) { + to = '<' + (+tM + 1) + '.0.0' + } else if (isX(tp)) { + to = '<' + tM + '.' + (+tm + 1) + '.0' + } else if (tpr) { + to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr + } else { + to = '<=' + to + } + + return (from + ' ' + to).trim() +} + +// if ANY of the sets match ALL of its comparators, then pass +Range.prototype.test = function (version) { + if (!version) { + return false + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options) + } catch (er) { + return false + } + } + + for (var i = 0; i < this.set.length; i++) { + if (testSet(this.set[i], version, this.options)) { + return true + } + } + return false +} + +function testSet (set, version, options) { + for (var i = 0; i < set.length; i++) { + if (!set[i].test(version)) { + return false + } + } + + if (version.prerelease.length && !options.includePrerelease) { + // Find the set of versions that are allowed to have prereleases + // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 + // That should allow `1.2.3-pr.2` to pass. + // However, `1.2.4-alpha.notready` should NOT be allowed, + // even though it's within the range set by the comparators. + for (i = 0; i < set.length; i++) { + debug(set[i].semver) + if (set[i].semver === ANY) { + continue + } + + if (set[i].semver.prerelease.length > 0) { + var allowed = set[i].semver + if (allowed.major === version.major && + allowed.minor === version.minor && + allowed.patch === version.patch) { + return true + } + } + } + + // Version has a -pre, but it's not one of the ones we like. + return false + } + + return true +} + +exports.satisfies = satisfies +function satisfies (version, range, options) { + try { + range = new Range(range, options) + } catch (er) { + return false + } + return range.test(version) +} + +exports.maxSatisfying = maxSatisfying +function maxSatisfying (versions, range, options) { + var max = null + var maxSV = null + try { + var rangeObj = new Range(range, options) + } catch (er) { + return null + } + versions.forEach(function (v) { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!max || maxSV.compare(v) === -1) { + // compare(max, v, true) + max = v + maxSV = new SemVer(max, options) + } + } + }) + return max +} + +exports.minSatisfying = minSatisfying +function minSatisfying (versions, range, options) { + var min = null + var minSV = null + try { + var rangeObj = new Range(range, options) + } catch (er) { + return null + } + versions.forEach(function (v) { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!min || minSV.compare(v) === 1) { + // compare(min, v, true) + min = v + minSV = new SemVer(min, options) + } + } + }) + return min +} + +exports.minVersion = minVersion +function minVersion (range, loose) { + range = new Range(range, loose) + + var minver = new SemVer('0.0.0') + if (range.test(minver)) { + return minver + } + + minver = new SemVer('0.0.0-0') + if (range.test(minver)) { + return minver + } + + minver = null + for (var i = 0; i < range.set.length; ++i) { + var comparators = range.set[i] + + comparators.forEach(function (comparator) { + // Clone to avoid manipulating the comparator's semver object. + var compver = new SemVer(comparator.semver.version) + switch (comparator.operator) { + case '>': + if (compver.prerelease.length === 0) { + compver.patch++ + } else { + compver.prerelease.push(0) + } + compver.raw = compver.format() + /* fallthrough */ + case '': + case '>=': + if (!minver || gt(minver, compver)) { + minver = compver + } + break + case '<': + case '<=': + /* Ignore maximum versions */ + break + /* istanbul ignore next */ + default: + throw new Error('Unexpected operation: ' + comparator.operator) + } + }) + } + + if (minver && range.test(minver)) { + return minver + } + + return null +} + +exports.validRange = validRange +function validRange (range, options) { + try { + // Return '*' instead of '' so that truthiness works. + // This will throw if it's invalid anyway + return new Range(range, options).range || '*' + } catch (er) { + return null + } +} + +// Determine if version is less than all the versions possible in the range +exports.ltr = ltr +function ltr (version, range, options) { + return outside(version, range, '<', options) +} + +// Determine if version is greater than all the versions possible in the range. +exports.gtr = gtr +function gtr (version, range, options) { + return outside(version, range, '>', options) +} + +exports.outside = outside +function outside (version, range, hilo, options) { + version = new SemVer(version, options) + range = new Range(range, options) + + var gtfn, ltefn, ltfn, comp, ecomp + switch (hilo) { + case '>': + gtfn = gt + ltefn = lte + ltfn = lt + comp = '>' + ecomp = '>=' + break + case '<': + gtfn = lt + ltefn = gte + ltfn = gt + comp = '<' + ecomp = '<=' + break + default: + throw new TypeError('Must provide a hilo val of "<" or ">"') + } + + // If it satisifes the range it is not outside + if (satisfies(version, range, options)) { + return false + } + + // From now on, variable terms are as if we're in "gtr" mode. + // but note that everything is flipped for the "ltr" function. + + for (var i = 0; i < range.set.length; ++i) { + var comparators = range.set[i] + + var high = null + var low = null + + comparators.forEach(function (comparator) { + if (comparator.semver === ANY) { + comparator = new Comparator('>=0.0.0') + } + high = high || comparator + low = low || comparator + if (gtfn(comparator.semver, high.semver, options)) { + high = comparator + } else if (ltfn(comparator.semver, low.semver, options)) { + low = comparator + } + }) + + // If the edge version comparator has a operator then our version + // isn't outside it + if (high.operator === comp || high.operator === ecomp) { + return false + } + + // If the lowest version comparator has an operator and our version + // is less than it then it isn't higher than the range + if ((!low.operator || low.operator === comp) && + ltefn(version, low.semver)) { + return false + } else if (low.operator === ecomp && ltfn(version, low.semver)) { + return false + } + } + return true +} + +exports.prerelease = prerelease +function prerelease (version, options) { + var parsed = parse(version, options) + return (parsed && parsed.prerelease.length) ? parsed.prerelease : null +} + +exports.intersects = intersects +function intersects (r1, r2, options) { + r1 = new Range(r1, options) + r2 = new Range(r2, options) + return r1.intersects(r2) +} + +exports.coerce = coerce +function coerce (version, options) { + if (version instanceof SemVer) { + return version + } + + if (typeof version === 'number') { + version = String(version) + } + + if (typeof version !== 'string') { + return null + } + + options = options || {} + + var match = null + if (!options.rtl) { + match = version.match(re[t.COERCE]) + } else { + // Find the right-most coercible string that does not share + // a terminus with a more left-ward coercible string. + // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4' + // + // Walk through the string checking with a /g regexp + // Manually set the index so as to pick up overlapping matches. + // Stop when we get a match that ends at the string end, since no + // coercible string can be more right-ward without the same terminus. + var next + while ((next = re[t.COERCERTL].exec(version)) && + (!match || match.index + match[0].length !== version.length) + ) { + if (!match || + next.index + next[0].length !== match.index + match[0].length) { + match = next + } + re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length + } + // leave it in a clean state + re[t.COERCERTL].lastIndex = -1 + } + + if (match === null) { + return null + } + + return parse(match[2] + + '.' + (match[3] || '0') + + '.' + (match[4] || '0'), options) +} diff --git a/node_modules/@babel/helper-create-regexp-features-plugin/package.json b/node_modules/@babel/helper-create-regexp-features-plugin/package.json index c4bc87aee..99ecdf33b 100644 --- a/node_modules/@babel/helper-create-regexp-features-plugin/package.json +++ b/node_modules/@babel/helper-create-regexp-features-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@babel/helper-create-regexp-features-plugin", - "version": "7.21.4", + "version": "7.22.5", "author": "The Babel Team (https://babel.dev/team)", "license": "MIT", "description": "Compile ESNext Regular Expressions to ES5", @@ -18,15 +18,16 @@ "babel-plugin" ], "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.3.1" + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.0" }, "peerDependencies": { "@babel/core": "^7.0.0" }, "devDependencies": { - "@babel/core": "^7.21.4", - "@babel/helper-plugin-test-runner": "^7.18.6" + "@babel/core": "^7.22.5", + "@babel/helper-plugin-test-runner": "^7.22.5" }, "engines": { "node": ">=6.9.0" diff --git a/node_modules/@babel/helper-define-polyfill-provider/esm/index.browser.mjs b/node_modules/@babel/helper-define-polyfill-provider/esm/index.browser.mjs index 3afddbfb6..90ab13eaf 100644 --- a/node_modules/@babel/helper-define-polyfill-provider/esm/index.browser.mjs +++ b/node_modules/@babel/helper-define-polyfill-provider/esm/index.browser.mjs @@ -643,7 +643,7 @@ function instantiateProvider(factory, options, missingDependencies, dirname, deb } if (!polyfillsNames.has(name)) { - console.warn(`Internal error in the ${provider.name} provider: ` + `unknown polyfill "${name}".`); + console.warn(`Internal error in the ${providerName} provider: ` + `unknown polyfill "${name}".`); } if (filterPolyfills && !filterPolyfills(name)) return false; @@ -669,7 +669,7 @@ function instantiateProvider(factory, options, missingDependencies, dirname, deb debugLog().found = true; if (!debug || !name) return; - if (debugLog().polyfills.has(provider.name)) return; + if (debugLog().polyfills.has(providerName)) return; debugLog().polyfills.add(name); (_debugLog$polyfillsSu = (_debugLog = debugLog()).polyfillsSupport) != null ? _debugLog$polyfillsSu : _debugLog.polyfillsSupport = polyfillsSupport; }, @@ -694,9 +694,10 @@ function instantiateProvider(factory, options, missingDependencies, dirname, deb }; const provider = factory(api, providerOptions, dirname); + const providerName = provider.name || factory.name; if (typeof provider[methodName] !== "function") { - throw new Error(`The "${provider.name || factory.name}" provider doesn't ` + `support the "${method}" polyfilling method.`); + throw new Error(`The "${providerName}" provider doesn't support the "${method}" polyfilling method.`); } if (Array.isArray(provider.polyfills)) { @@ -713,12 +714,13 @@ function instantiateProvider(factory, options, missingDependencies, dirname, deb ({ include, exclude - } = validateIncludeExclude(provider.name || factory.name, polyfillsNames, providerOptions.include || [], providerOptions.exclude || [])); + } = validateIncludeExclude(providerName, polyfillsNames, providerOptions.include || [], providerOptions.exclude || [])); return { debug, method, targets, provider, + providerName, callProvider(payload, path) { const utils = getUtils(path); @@ -741,24 +743,37 @@ function definePolyfillProvider(factory) { method, targets, provider, + providerName, callProvider } = instantiateProvider(factory, options, missingDependencies, dirname, () => debugLog, babelApi); const createVisitor = method === "entry-global" ? entry : usage; const visitor = provider.visitor ? traverse.visitors.merge([createVisitor(callProvider), provider.visitor]) : createVisitor(callProvider); if (debug && debug !== presetEnvSilentDebugHeader) { - console.log(`${provider.name}: \`DEBUG\` option`); + console.log(`${providerName}: \`DEBUG\` option`); console.log(`\nUsing targets: ${stringifyTargetsMultiline(targets)}`); console.log(`\nUsing polyfills with \`${method}\` method:`); } + const { + runtimeName + } = provider; return { name: "inject-polyfills", visitor, - pre() { + pre(file) { var _provider$pre; + if (runtimeName) { + if (file.get("runtimeHelpersModuleName") && file.get("runtimeHelpersModuleName") !== runtimeName) { + console.warn(`Two different polyfill providers` + ` (${file.get("runtimeHelpersModuleProvider")}` + ` and ${providerName}) are trying to define two` + ` conflicting @babel/runtime alternatives:` + ` ${file.get("runtimeHelpersModuleName")} and ${runtimeName}.` + ` The second one will be ignored.`); + } else { + file.set("runtimeHelpersModuleName", runtimeName); + file.set("runtimeHelpersModuleProvider", providerName); + } + } + debugLog = { polyfills: new Set(), polyfillsSupport: undefined, @@ -786,14 +801,14 @@ function definePolyfillProvider(factory) { if (this.filename) console.log(`\n[${this.filename}]`); if (debugLog.polyfills.size === 0) { - console.log(method === "entry-global" ? debugLog.found ? `Based on your targets, the ${provider.name} polyfill did not add any polyfill.` : `The entry point for the ${provider.name} polyfill has not been found.` : `Based on your code and targets, the ${provider.name} polyfill did not add any polyfill.`); + console.log(method === "entry-global" ? debugLog.found ? `Based on your targets, the ${providerName} polyfill did not add any polyfill.` : `The entry point for the ${providerName} polyfill has not been found.` : `Based on your code and targets, the ${providerName} polyfill did not add any polyfill.`); return; } if (method === "entry-global") { - console.log(`The ${provider.name} polyfill entry has been replaced with ` + `the following polyfills:`); + console.log(`The ${providerName} polyfill entry has been replaced with ` + `the following polyfills:`); } else { - console.log(`The ${provider.name} polyfill added the following polyfills:`); + console.log(`The ${providerName} polyfill added the following polyfills:`); } for (const name of debugLog.polyfills) { diff --git a/node_modules/@babel/helper-define-polyfill-provider/esm/index.browser.mjs.map b/node_modules/@babel/helper-define-polyfill-provider/esm/index.browser.mjs.map index 6cf711b8b..9b98996a2 100644 --- a/node_modules/@babel/helper-define-polyfill-provider/esm/index.browser.mjs.map +++ b/node_modules/@babel/helper-define-polyfill-provider/esm/index.browser.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index.browser.mjs","sources":["../src/utils.ts","../src/imports-cache.ts","../src/debug-utils.ts","../src/normalize-options.ts","../src/visitors/usage.ts","../src/visitors/entry.ts","../src/browser/dependencies.ts","../src/meta-resolver.ts","../src/index.ts"],"sourcesContent":["import { types as t, template } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport type { Utils } from \"./types\";\nimport type ImportsCache from \"./imports-cache\";\n\nexport function intersection(a: Set, b: Set): Set {\n const result = new Set();\n a.forEach(v => b.has(v) && result.add(v));\n return result;\n}\n\nexport function has(object: any, key: string) {\n return Object.prototype.hasOwnProperty.call(object, key);\n}\n\nfunction getType(target: any): string {\n return Object.prototype.toString.call(target).slice(8, -1);\n}\n\nfunction resolveId(path): string {\n if (\n path.isIdentifier() &&\n !path.scope.hasBinding(path.node.name, /* noGlobals */ true)\n ) {\n return path.node.name;\n }\n\n const { deopt } = path.evaluate();\n if (deopt && deopt.isIdentifier()) {\n return deopt.node.name;\n }\n}\n\nexport function resolveKey(\n path: NodePath,\n computed: boolean = false,\n) {\n const { scope } = path;\n if (path.isStringLiteral()) return path.node.value;\n const isIdentifier = path.isIdentifier();\n if (\n isIdentifier &&\n !(computed || (path.parent as t.MemberExpression).computed)\n ) {\n return path.node.name;\n }\n\n if (\n computed &&\n path.isMemberExpression() &&\n path.get(\"object\").isIdentifier({ name: \"Symbol\" }) &&\n !scope.hasBinding(\"Symbol\", /* noGlobals */ true)\n ) {\n const sym = resolveKey(path.get(\"property\"), path.node.computed);\n if (sym) return \"Symbol.\" + sym;\n }\n\n if (!isIdentifier || scope.hasBinding(path.node.name, /* noGlobals */ true)) {\n const { value } = path.evaluate();\n if (typeof value === \"string\") return value;\n }\n}\n\nexport function resolveSource(obj: NodePath): {\n id: string | null;\n placement: \"prototype\" | \"static\" | null;\n} {\n if (\n obj.isMemberExpression() &&\n obj.get(\"property\").isIdentifier({ name: \"prototype\" })\n ) {\n const id = resolveId(obj.get(\"object\"));\n\n if (id) {\n return { id, placement: \"prototype\" };\n }\n return { id: null, placement: null };\n }\n\n const id = resolveId(obj);\n if (id) {\n return { id, placement: \"static\" };\n }\n\n const { value } = obj.evaluate();\n if (value !== undefined) {\n return { id: getType(value), placement: \"prototype\" };\n } else if (obj.isRegExpLiteral()) {\n return { id: \"RegExp\", placement: \"prototype\" };\n } else if (obj.isFunction()) {\n return { id: \"Function\", placement: \"prototype\" };\n }\n\n return { id: null, placement: null };\n}\n\nexport function getImportSource({ node }: NodePath) {\n if (node.specifiers.length === 0) return node.source.value;\n}\n\nexport function getRequireSource({ node }: NodePath) {\n if (!t.isExpressionStatement(node)) return;\n const { expression } = node;\n if (\n t.isCallExpression(expression) &&\n t.isIdentifier(expression.callee) &&\n expression.callee.name === \"require\" &&\n expression.arguments.length === 1 &&\n t.isStringLiteral(expression.arguments[0])\n ) {\n return expression.arguments[0].value;\n }\n}\n\nfunction hoist(node: t.Node) {\n // @ts-expect-error\n node._blockHoist = 3;\n return node;\n}\n\nexport function createUtilsGetter(cache: ImportsCache) {\n return (path: NodePath): Utils => {\n const prog = path.findParent(p => p.isProgram()) as NodePath;\n\n return {\n injectGlobalImport(url) {\n cache.storeAnonymous(prog, url, (isScript, source) => {\n return isScript\n ? template.statement.ast`require(${source})`\n : t.importDeclaration([], source);\n });\n },\n injectNamedImport(url, name, hint = name) {\n return cache.storeNamed(prog, url, name, (isScript, source, name) => {\n const id = prog.scope.generateUidIdentifier(hint);\n return {\n node: isScript\n ? hoist(template.statement.ast`\n var ${id} = require(${source}).${name}\n `)\n : t.importDeclaration([t.importSpecifier(id, name)], source),\n name: id.name,\n };\n });\n },\n injectDefaultImport(url, hint = url) {\n return cache.storeNamed(prog, url, \"default\", (isScript, source) => {\n const id = prog.scope.generateUidIdentifier(hint);\n return {\n node: isScript\n ? hoist(template.statement.ast`var ${id} = require(${source})`)\n : t.importDeclaration([t.importDefaultSpecifier(id)], source),\n name: id.name,\n };\n });\n },\n };\n };\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport { types as t } from \"@babel/core\";\n\ntype StrMap = Map;\n\nexport default class ImportsCache {\n _imports: WeakMap, StrMap>;\n _anonymousImports: WeakMap, Set>;\n _lastImports: WeakMap, NodePath>;\n _resolver: (url: string) => string;\n\n constructor(resolver: (url: string) => string) {\n this._imports = new WeakMap();\n this._anonymousImports = new WeakMap();\n this._lastImports = new WeakMap();\n this._resolver = resolver;\n }\n\n storeAnonymous(\n programPath: NodePath,\n url: string,\n // eslint-disable-next-line no-undef\n getVal: (isScript: boolean, source: t.StringLiteral) => t.Node,\n ) {\n const key = this._normalizeKey(programPath, url);\n const imports = this._ensure>(\n this._anonymousImports,\n programPath,\n Set,\n );\n\n if (imports.has(key)) return;\n\n const node = getVal(\n programPath.node.sourceType === \"script\",\n t.stringLiteral(this._resolver(url)),\n );\n imports.add(key);\n this._injectImport(programPath, node);\n }\n\n storeNamed(\n programPath: NodePath,\n url: string,\n name: string,\n getVal: (\n isScript: boolean,\n // eslint-disable-next-line no-undef\n source: t.StringLiteral,\n // eslint-disable-next-line no-undef\n name: t.Identifier,\n ) => { node: t.Node; name: string },\n ) {\n const key = this._normalizeKey(programPath, url, name);\n const imports = this._ensure>(\n this._imports,\n programPath,\n Map,\n );\n\n if (!imports.has(key)) {\n const { node, name: id } = getVal(\n programPath.node.sourceType === \"script\",\n t.stringLiteral(this._resolver(url)),\n t.identifier(name),\n );\n imports.set(key, id);\n this._injectImport(programPath, node);\n }\n\n return t.identifier(imports.get(key));\n }\n\n _injectImport(programPath: NodePath, node: t.Node) {\n const lastImport = this._lastImports.get(programPath);\n let newNodes: [NodePath];\n if (\n lastImport &&\n lastImport.node &&\n // Sometimes the AST is modified and the \"last import\"\n // we have has been replaced\n lastImport.parent === programPath.node &&\n lastImport.container === programPath.node.body\n ) {\n newNodes = lastImport.insertAfter(node);\n } else {\n newNodes = programPath.unshiftContainer(\"body\", node);\n }\n const newNode = newNodes[newNodes.length - 1];\n this._lastImports.set(programPath, newNode);\n\n /*\n let lastImport;\n\n programPath.get(\"body\").forEach(path => {\n if (path.isImportDeclaration()) lastImport = path;\n if (\n path.isExpressionStatement() &&\n isRequireCall(path.get(\"expression\"))\n ) {\n lastImport = path;\n }\n if (\n path.isVariableDeclaration() &&\n path.get(\"declarations\").length === 1 &&\n (isRequireCall(path.get(\"declarations.0.init\")) ||\n (path.get(\"declarations.0.init\").isMemberExpression() &&\n isRequireCall(path.get(\"declarations.0.init.object\"))))\n ) {\n lastImport = path;\n }\n });*/\n }\n\n _ensure | Set>(\n map: WeakMap, C>,\n programPath: NodePath,\n Collection: { new (...args: any): C },\n ): C {\n let collection = map.get(programPath);\n if (!collection) {\n collection = new Collection();\n map.set(programPath, collection);\n }\n return collection;\n }\n\n _normalizeKey(\n programPath: NodePath,\n url: string,\n name: string = \"\",\n ): string {\n const { sourceType } = programPath.node;\n\n // If we rely on the imported binding (the \"name\" parameter), we also need to cache\n // based on the sourceType. This is because the module transforms change the names\n // of the import variables.\n return `${name && sourceType}::${url}::${name}`;\n }\n}\n","import { prettifyTargets } from \"@babel/helper-compilation-targets\";\n\nimport type { Targets } from \"./types\";\n\nexport const presetEnvSilentDebugHeader =\n \"#__secret_key__@babel/preset-env__don't_log_debug_header_and_resolved_targets\";\n\nexport function stringifyTargetsMultiline(targets: Targets): string {\n return JSON.stringify(prettifyTargets(targets), null, 2);\n}\n\nexport function stringifyTargets(targets: Targets): string {\n return JSON.stringify(targets)\n .replace(/,/g, \", \")\n .replace(/^\\{\"/, '{ \"')\n .replace(/\"\\}$/, '\" }');\n}\n","import { intersection } from \"./utils\";\nimport type {\n Pattern,\n PluginOptions,\n MissingDependenciesOption,\n} from \"./types\";\n\nfunction patternToRegExp(pattern: Pattern): RegExp | null {\n if (pattern instanceof RegExp) return pattern;\n\n try {\n return new RegExp(`^${pattern}$`);\n } catch {\n return null;\n }\n}\n\nfunction buildUnusedError(label, unused) {\n if (!unused.length) return \"\";\n return (\n ` - The following \"${label}\" patterns didn't match any polyfill:\\n` +\n unused.map(original => ` ${String(original)}\\n`).join(\"\")\n );\n}\n\nfunction buldDuplicatesError(duplicates) {\n if (!duplicates.size) return \"\";\n return (\n ` - The following polyfills were matched both by \"include\" and \"exclude\" patterns:\\n` +\n Array.from(duplicates, name => ` ${name}\\n`).join(\"\")\n );\n}\n\nexport function validateIncludeExclude(\n provider: string,\n polyfills: Set,\n includePatterns: Pattern[],\n excludePatterns: Pattern[],\n) {\n let current;\n const filter = pattern => {\n const regexp = patternToRegExp(pattern);\n if (!regexp) return false;\n\n let matched = false;\n for (const polyfill of polyfills) {\n if (regexp.test(polyfill)) {\n matched = true;\n current.add(polyfill);\n }\n }\n return !matched;\n };\n\n // prettier-ignore\n const include = current = new Set ();\n const unusedInclude = Array.from(includePatterns).filter(filter);\n\n // prettier-ignore\n const exclude = current = new Set ();\n const unusedExclude = Array.from(excludePatterns).filter(filter);\n\n const duplicates = intersection(include, exclude);\n\n if (\n duplicates.size > 0 ||\n unusedInclude.length > 0 ||\n unusedExclude.length > 0\n ) {\n throw new Error(\n `Error while validating the \"${provider}\" provider options:\\n` +\n buildUnusedError(\"include\", unusedInclude) +\n buildUnusedError(\"exclude\", unusedExclude) +\n buldDuplicatesError(duplicates),\n );\n }\n\n return { include, exclude };\n}\n\nexport function applyMissingDependenciesDefaults(\n options: PluginOptions,\n babelApi: any,\n): MissingDependenciesOption {\n const { missingDependencies = {} } = options;\n if (missingDependencies === false) return false;\n\n const caller = babelApi.caller(caller => caller?.name);\n\n const {\n log = \"deferred\",\n inject = caller === \"rollup-plugin-babel\" ? \"throw\" : \"import\",\n all = false,\n } = missingDependencies;\n\n return { log, inject, all };\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport { types as t } from \"@babel/core\";\nimport type { MetaDescriptor } from \"../types\";\n\nimport { resolveKey, resolveSource } from \"../utils\";\n\nexport default (\n callProvider: (payload: MetaDescriptor, path: NodePath) => void,\n) => {\n function property(object, key, placement, path) {\n return callProvider({ kind: \"property\", object, key, placement }, path);\n }\n\n return {\n // Symbol(), new Promise\n ReferencedIdentifier(path: NodePath) {\n const {\n node: { name },\n scope,\n } = path;\n if (scope.getBindingIdentifier(name)) return;\n\n callProvider({ kind: \"global\", name }, path);\n },\n\n MemberExpression(path: NodePath) {\n const key = resolveKey(path.get(\"property\"), path.node.computed);\n if (!key || key === \"prototype\") return;\n\n const object = path.get(\"object\");\n if (object.isIdentifier()) {\n const binding = object.scope.getBinding(object.node.name);\n if (binding && binding.path.isImportNamespaceSpecifier()) return;\n }\n\n const source = resolveSource(object);\n return property(source.id, key, source.placement, path);\n },\n\n ObjectPattern(path: NodePath) {\n const { parentPath, parent } = path;\n let obj;\n\n // const { keys, values } = Object\n if (parentPath.isVariableDeclarator()) {\n obj = parentPath.get(\"init\");\n // ({ keys, values } = Object)\n } else if (parentPath.isAssignmentExpression()) {\n obj = parentPath.get(\"right\");\n // !function ({ keys, values }) {...} (Object)\n // resolution does not work after properties transform :-(\n } else if (parentPath.isFunction()) {\n const grand = parentPath.parentPath;\n if (grand.isCallExpression() || grand.isNewExpression()) {\n if (grand.node.callee === parent) {\n obj = grand.get(\"arguments\")[path.key];\n }\n }\n }\n\n let id = null;\n let placement = null;\n if (obj) ({ id, placement } = resolveSource(obj));\n\n for (const prop of path.get(\"properties\")) {\n if (prop.isObjectProperty()) {\n const key = resolveKey(prop.get(\"key\"));\n if (key) property(id, key, placement, prop);\n }\n }\n },\n\n BinaryExpression(path: NodePath) {\n if (path.node.operator !== \"in\") return;\n\n const source = resolveSource(path.get(\"right\"));\n const key = resolveKey(path.get(\"left\"), true);\n\n if (!key) return;\n\n callProvider(\n {\n kind: \"in\",\n object: source.id,\n key,\n placement: source.placement,\n },\n path,\n );\n },\n };\n};\n","import type { NodePath } from \"@babel/traverse\";\nimport { types as t } from \"@babel/core\";\nimport type { MetaDescriptor } from \"../types\";\n\nimport { getImportSource, getRequireSource } from \"../utils\";\n\nexport default (\n callProvider: (payload: MetaDescriptor, path: NodePath) => void,\n) => ({\n ImportDeclaration(path: NodePath) {\n const source = getImportSource(path);\n if (!source) return;\n callProvider({ kind: \"import\", source }, path);\n },\n Program(path: NodePath) {\n path.get(\"body\").forEach(bodyPath => {\n const source = getRequireSource(bodyPath);\n if (!source) return;\n callProvider({ kind: \"import\", source }, bodyPath);\n });\n },\n});\n","export function resolve(\n dirname: string,\n moduleName: string,\n absoluteImports: boolean | string,\n): string {\n if (absoluteImports === false) return moduleName;\n\n throw new Error(\n `\"absoluteImports\" is not supported in bundles prepared for the browser.`,\n );\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function has(basedir: string, name: string) {\n return true;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function logMissing(missingDeps: Set) {}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function laterLogMissing(missingDeps: Set) {}\n","import type {\n MetaDescriptor,\n ResolverPolyfills,\n ResolvedPolyfill,\n} from \"./types\";\n\nimport { has } from \"./utils\";\n\ntype ResolverFn = (meta: MetaDescriptor) => void | ResolvedPolyfill;\n\nconst PossibleGlobalObjects = new Set([\n \"global\",\n \"globalThis\",\n \"self\",\n \"window\",\n]);\n\nexport default function createMetaResolver(\n polyfills: ResolverPolyfills,\n): ResolverFn {\n const { static: staticP, instance: instanceP, global: globalP } = polyfills;\n\n return meta => {\n if (meta.kind === \"global\" && globalP && has(globalP, meta.name)) {\n return { kind: \"global\", desc: globalP[meta.name], name: meta.name };\n }\n\n if (meta.kind === \"property\" || meta.kind === \"in\") {\n const { placement, object, key } = meta;\n\n if (object && placement === \"static\") {\n if (globalP && PossibleGlobalObjects.has(object) && has(globalP, key)) {\n return { kind: \"global\", desc: globalP[key], name: key };\n }\n\n if (staticP && has(staticP, object) && has(staticP[object], key)) {\n return {\n kind: \"static\",\n desc: staticP[object][key],\n name: `${object}$${key}`,\n };\n }\n }\n\n if (instanceP && has(instanceP, key)) {\n return { kind: \"instance\", desc: instanceP[key], name: `${key}` };\n }\n }\n };\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport type { NodePath } from \"@babel/traverse\";\n\nimport _getTargets, {\n isRequired,\n getInclusionReasons,\n} from \"@babel/helper-compilation-targets\";\nconst getTargets = _getTargets.default || _getTargets;\n\nimport { createUtilsGetter } from \"./utils\";\nimport ImportsCache from \"./imports-cache\";\nimport {\n stringifyTargetsMultiline,\n presetEnvSilentDebugHeader,\n} from \"./debug-utils\";\nimport {\n validateIncludeExclude,\n applyMissingDependenciesDefaults,\n} from \"./normalize-options\";\n\nimport type {\n ProviderApi,\n MethodString,\n Targets,\n MetaDescriptor,\n PolyfillProvider,\n PluginOptions,\n ProviderOptions,\n} from \"./types\";\n\nimport * as v from \"./visitors\";\nimport * as deps from \"./node/dependencies\";\n\nimport createMetaResolver from \"./meta-resolver\";\n\nexport type { PolyfillProvider, MetaDescriptor, Utils, Targets } from \"./types\";\n\nfunction resolveOptions(\n options: PluginOptions,\n babelApi,\n): {\n method: MethodString;\n methodName: \"usageGlobal\" | \"entryGlobal\" | \"usagePure\";\n targets: Targets;\n debug: boolean | typeof presetEnvSilentDebugHeader;\n shouldInjectPolyfill:\n | ((name: string, shouldInject: boolean) => boolean)\n | undefined;\n providerOptions: ProviderOptions;\n absoluteImports: string | boolean;\n} {\n const {\n method,\n targets: targetsOption,\n ignoreBrowserslistConfig,\n configPath,\n debug,\n shouldInjectPolyfill,\n absoluteImports,\n ...providerOptions\n } = options;\n\n if (isEmpty(options)) {\n throw new Error(\n `\\\nThis plugin requires options, for example:\n {\n \"plugins\": [\n [\"\", { method: \"usage-pure\" }]\n ]\n }\n\nSee more options at https://github.com/babel/babel-polyfills/blob/main/docs/usage.md`,\n );\n }\n\n let methodName;\n if (method === \"usage-global\") methodName = \"usageGlobal\";\n else if (method === \"entry-global\") methodName = \"entryGlobal\";\n else if (method === \"usage-pure\") methodName = \"usagePure\";\n else if (typeof method !== \"string\") {\n throw new Error(\".method must be a string\");\n } else {\n throw new Error(\n `.method must be one of \"entry-global\", \"usage-global\"` +\n ` or \"usage-pure\" (received ${JSON.stringify(method)})`,\n );\n }\n\n if (typeof shouldInjectPolyfill === \"function\") {\n if (options.include || options.exclude) {\n throw new Error(\n `.include and .exclude are not supported when using the` +\n ` .shouldInjectPolyfill function.`,\n );\n }\n } else if (shouldInjectPolyfill != null) {\n throw new Error(\n `.shouldInjectPolyfill must be a function, or undefined` +\n ` (received ${JSON.stringify(shouldInjectPolyfill)})`,\n );\n }\n\n if (\n absoluteImports != null &&\n typeof absoluteImports !== \"boolean\" &&\n typeof absoluteImports !== \"string\"\n ) {\n throw new Error(\n `.absoluteImports must be a boolean, a string, or undefined` +\n ` (received ${JSON.stringify(absoluteImports)})`,\n );\n }\n\n let targets;\n\n if (\n // If any browserslist-related option is specified, fallback to the old\n // behavior of not using the targets specified in the top-level options.\n targetsOption ||\n configPath ||\n ignoreBrowserslistConfig\n ) {\n const targetsObj =\n typeof targetsOption === \"string\" || Array.isArray(targetsOption)\n ? { browsers: targetsOption }\n : targetsOption;\n\n targets = getTargets(targetsObj, {\n ignoreBrowserslistConfig,\n configPath,\n });\n } else {\n targets = babelApi.targets();\n }\n\n return {\n method,\n methodName,\n targets,\n absoluteImports: absoluteImports ?? false,\n shouldInjectPolyfill,\n debug: !!debug,\n providerOptions: providerOptions as any as ProviderOptions,\n };\n}\n\nfunction instantiateProvider(\n factory: PolyfillProvider,\n options: PluginOptions,\n missingDependencies,\n dirname,\n debugLog,\n babelApi,\n) {\n const {\n method,\n methodName,\n targets,\n debug,\n shouldInjectPolyfill,\n providerOptions,\n absoluteImports,\n } = resolveOptions(options, babelApi);\n\n const getUtils = createUtilsGetter(\n new ImportsCache(moduleName =>\n deps.resolve(dirname, moduleName, absoluteImports),\n ),\n );\n\n // eslint-disable-next-line prefer-const\n let include, exclude;\n let polyfillsSupport;\n let polyfillsNames;\n let filterPolyfills;\n\n const depsCache = new Map();\n\n const api: ProviderApi = {\n babel: babelApi,\n getUtils,\n method: options.method,\n targets,\n createMetaResolver,\n shouldInjectPolyfill(name) {\n if (polyfillsNames === undefined) {\n throw new Error(\n `Internal error in the ${factory.name} provider: ` +\n `shouldInjectPolyfill() can't be called during initialization.`,\n );\n }\n if (!polyfillsNames.has(name)) {\n console.warn(\n `Internal error in the ${provider.name} provider: ` +\n `unknown polyfill \"${name}\".`,\n );\n }\n\n if (filterPolyfills && !filterPolyfills(name)) return false;\n\n let shouldInject = isRequired(name, targets, {\n compatData: polyfillsSupport,\n includes: include,\n excludes: exclude,\n });\n\n if (shouldInjectPolyfill) {\n shouldInject = shouldInjectPolyfill(name, shouldInject);\n if (typeof shouldInject !== \"boolean\") {\n throw new Error(`.shouldInjectPolyfill must return a boolean.`);\n }\n }\n\n return shouldInject;\n },\n debug(name) {\n debugLog().found = true;\n\n if (!debug || !name) return;\n\n if (debugLog().polyfills.has(provider.name)) return;\n debugLog().polyfills.add(name);\n debugLog().polyfillsSupport ??= polyfillsSupport;\n },\n assertDependency(name, version = \"*\") {\n if (missingDependencies === false) return;\n if (absoluteImports) {\n // If absoluteImports is not false, we will try resolving\n // the dependency and throw if it's not possible. We can\n // skip the check here.\n return;\n }\n\n const dep = version === \"*\" ? name : `${name}@^${version}`;\n\n const found = missingDependencies.all\n ? false\n : mapGetOr(depsCache, `${name} :: ${dirname}`, () =>\n deps.has(dirname, name),\n );\n\n if (!found) {\n debugLog().missingDeps.add(dep);\n }\n },\n };\n\n const provider = factory(api, providerOptions, dirname);\n\n if (typeof provider[methodName] !== \"function\") {\n throw new Error(\n `The \"${provider.name || factory.name}\" provider doesn't ` +\n `support the \"${method}\" polyfilling method.`,\n );\n }\n\n if (Array.isArray(provider.polyfills)) {\n polyfillsNames = new Set(provider.polyfills);\n filterPolyfills = provider.filterPolyfills;\n } else if (provider.polyfills) {\n polyfillsNames = new Set(Object.keys(provider.polyfills));\n polyfillsSupport = provider.polyfills;\n filterPolyfills = provider.filterPolyfills;\n } else {\n polyfillsNames = new Set();\n }\n\n ({ include, exclude } = validateIncludeExclude(\n provider.name || factory.name,\n polyfillsNames,\n providerOptions.include || [],\n providerOptions.exclude || [],\n ));\n\n return {\n debug,\n method,\n targets,\n provider,\n callProvider(payload: MetaDescriptor, path: NodePath) {\n const utils = getUtils(path);\n provider[methodName](payload, utils, path);\n },\n };\n}\n\nexport default function definePolyfillProvider(\n factory: PolyfillProvider,\n) {\n return declare((babelApi, options: PluginOptions, dirname: string) => {\n babelApi.assertVersion(7);\n const { traverse } = babelApi;\n\n let debugLog;\n\n const missingDependencies = applyMissingDependenciesDefaults(\n options,\n babelApi,\n );\n\n const { debug, method, targets, provider, callProvider } =\n instantiateProvider(\n factory,\n options,\n missingDependencies,\n dirname,\n () => debugLog,\n babelApi,\n );\n\n const createVisitor = method === \"entry-global\" ? v.entry : v.usage;\n\n const visitor = provider.visitor\n ? traverse.visitors.merge([createVisitor(callProvider), provider.visitor])\n : createVisitor(callProvider);\n\n if (debug && debug !== presetEnvSilentDebugHeader) {\n console.log(`${provider.name}: \\`DEBUG\\` option`);\n console.log(`\\nUsing targets: ${stringifyTargetsMultiline(targets)}`);\n console.log(`\\nUsing polyfills with \\`${method}\\` method:`);\n }\n\n return {\n name: \"inject-polyfills\",\n visitor,\n\n pre() {\n debugLog = {\n polyfills: new Set(),\n polyfillsSupport: undefined,\n found: false,\n providers: new Set(),\n missingDeps: new Set(),\n };\n\n provider.pre?.apply(this, arguments);\n },\n post() {\n provider.post?.apply(this, arguments);\n\n if (missingDependencies !== false) {\n if (missingDependencies.log === \"per-file\") {\n deps.logMissing(debugLog.missingDeps);\n } else {\n deps.laterLogMissing(debugLog.missingDeps);\n }\n }\n\n if (!debug) return;\n\n if (this.filename) console.log(`\\n[${this.filename}]`);\n\n if (debugLog.polyfills.size === 0) {\n console.log(\n method === \"entry-global\"\n ? debugLog.found\n ? `Based on your targets, the ${provider.name} polyfill did not add any polyfill.`\n : `The entry point for the ${provider.name} polyfill has not been found.`\n : `Based on your code and targets, the ${provider.name} polyfill did not add any polyfill.`,\n );\n\n return;\n }\n\n if (method === \"entry-global\") {\n console.log(\n `The ${provider.name} polyfill entry has been replaced with ` +\n `the following polyfills:`,\n );\n } else {\n console.log(\n `The ${provider.name} polyfill added the following polyfills:`,\n );\n }\n\n for (const name of debugLog.polyfills) {\n if (debugLog.polyfillsSupport?.[name]) {\n const filteredTargets = getInclusionReasons(\n name,\n targets,\n debugLog.polyfillsSupport,\n );\n\n const formattedTargets = JSON.stringify(filteredTargets)\n .replace(/,/g, \", \")\n .replace(/^\\{\"/, '{ \"')\n .replace(/\"\\}$/, '\" }');\n\n console.log(` ${name} ${formattedTargets}`);\n } else {\n console.log(` ${name}`);\n }\n }\n },\n };\n });\n}\n\nfunction mapGetOr(map, key, getDefault) {\n let val = map.get(key);\n if (val === undefined) {\n val = getDefault();\n map.set(key, val);\n }\n return val;\n}\n\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n"],"names":["types","t","template","intersection","a","b","result","Set","forEach","v","has","add","object","key","Object","prototype","hasOwnProperty","call","getType","target","toString","slice","resolveId","path","isIdentifier","scope","hasBinding","node","name","deopt","evaluate","resolveKey","computed","isStringLiteral","value","parent","isMemberExpression","get","sym","resolveSource","obj","id","placement","undefined","isRegExpLiteral","isFunction","getImportSource","specifiers","length","source","getRequireSource","isExpressionStatement","expression","isCallExpression","callee","arguments","hoist","_blockHoist","createUtilsGetter","cache","prog","findParent","p","isProgram","injectGlobalImport","url","storeAnonymous","isScript","statement","ast","importDeclaration","injectNamedImport","hint","storeNamed","generateUidIdentifier","importSpecifier","injectDefaultImport","importDefaultSpecifier","ImportsCache","constructor","resolver","_imports","WeakMap","_anonymousImports","_lastImports","_resolver","programPath","getVal","_normalizeKey","imports","_ensure","sourceType","stringLiteral","_injectImport","Map","identifier","set","lastImport","newNodes","container","body","insertAfter","unshiftContainer","newNode","map","Collection","collection","presetEnvSilentDebugHeader","stringifyTargetsMultiline","targets","JSON","stringify","prettifyTargets","patternToRegExp","pattern","RegExp","buildUnusedError","label","unused","original","String","join","buldDuplicatesError","duplicates","size","Array","from","validateIncludeExclude","provider","polyfills","includePatterns","excludePatterns","current","filter","regexp","matched","polyfill","test","include","unusedInclude","exclude","unusedExclude","Error","applyMissingDependenciesDefaults","options","babelApi","missingDependencies","caller","log","inject","all","callProvider","property","kind","ReferencedIdentifier","getBindingIdentifier","MemberExpression","binding","getBinding","isImportNamespaceSpecifier","ObjectPattern","parentPath","isVariableDeclarator","isAssignmentExpression","grand","isNewExpression","prop","isObjectProperty","BinaryExpression","operator","ImportDeclaration","Program","bodyPath","resolve","dirname","moduleName","absoluteImports","basedir","logMissing","missingDeps","laterLogMissing","PossibleGlobalObjects","createMetaResolver","static","staticP","instance","instanceP","global","globalP","meta","desc","getTargets","_getTargets","default","resolveOptions","method","targetsOption","ignoreBrowserslistConfig","configPath","debug","shouldInjectPolyfill","providerOptions","isEmpty","methodName","targetsObj","isArray","browsers","instantiateProvider","factory","debugLog","getUtils","deps","polyfillsSupport","polyfillsNames","filterPolyfills","depsCache","api","babel","console","warn","shouldInject","isRequired","compatData","includes","excludes","found","assertDependency","version","dep","mapGetOr","keys","payload","utils","definePolyfillProvider","declare","assertVersion","traverse","createVisitor","visitor","visitors","merge","pre","providers","apply","post","filename","filteredTargets","getInclusionReasons","formattedTargets","replace","getDefault","val"],"mappings":";;;;;EAASA,OAASC;EAAGC,UAAAA;;AAKd,SAASC,YAAT,CAAyBC,CAAzB,EAAoCC,CAApC,EAAuD;EAC5D,MAAMC,MAAM,GAAG,IAAIC,GAAJ,EAAf;EACAH,CAAC,CAACI,OAAF,CAAUC,CAAC,IAAIJ,CAAC,CAACK,GAAF,CAAMD,CAAN,KAAYH,MAAM,CAACK,GAAP,CAAWF,CAAX,CAA3B;EACA,OAAOH,MAAP;AACD;AAEM,SAASI,KAAT,CAAaE,MAAb,EAA0BC,GAA1B,EAAuC;EAC5C,OAAOC,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCL,MAArC,EAA6CC,GAA7C,CAAP;AACD;;AAED,SAASK,OAAT,CAAiBC,MAAjB,EAAsC;EACpC,OAAOL,MAAM,CAACC,SAAP,CAAiBK,QAAjB,CAA0BH,IAA1B,CAA+BE,MAA/B,EAAuCE,KAAvC,CAA6C,CAA7C,EAAgD,CAAC,CAAjD,CAAP;AACD;;AAED,SAASC,SAAT,CAAmBC,IAAnB,EAAiC;EAC/B,IACEA,IAAI,CAACC,YAAL,MACA,CAACD,IAAI,CAACE,KAAL,CAAWC,UAAX,CAAsBH,IAAI,CAACI,IAAL,CAAUC,IAAhC;;EAAsD,IAAtD,CAFH,EAGE;IACA,OAAOL,IAAI,CAACI,IAAL,CAAUC,IAAjB;;;EAGF,MAAM;IAAEC;MAAUN,IAAI,CAACO,QAAL,EAAlB;;EACA,IAAID,KAAK,IAAIA,KAAK,CAACL,YAAN,EAAb,EAAmC;IACjC,OAAOK,KAAK,CAACF,IAAN,CAAWC,IAAlB;;AAEH;;AAEM,SAASG,UAAT,CACLR,IADK,EAELS,QAAiB,GAAG,KAFf,EAGL;EACA,MAAM;IAAEP;MAAUF,IAAlB;EACA,IAAIA,IAAI,CAACU,eAAL,EAAJ,EAA4B,OAAOV,IAAI,CAACI,IAAL,CAAUO,KAAjB;EAC5B,MAAMV,YAAY,GAAGD,IAAI,CAACC,YAAL,EAArB;;EACA,IACEA,YAAY,IACZ,EAAEQ,QAAQ,IAAKT,IAAI,CAACY,MAAN,CAAoCH,QAAlD,CAFF,EAGE;IACA,OAAOT,IAAI,CAACI,IAAL,CAAUC,IAAjB;;;EAGF,IACEI,QAAQ,IACRT,IAAI,CAACa,kBAAL,EADA,IAEAb,IAAI,CAACc,GAAL,CAAS,QAAT,EAAmBb,YAAnB,CAAgC;IAAEI,IAAI,EAAE;GAAxC,CAFA,IAGA,CAACH,KAAK,CAACC,UAAN,CAAiB,QAAjB;;EAA2C,IAA3C,CAJH,EAKE;IACA,MAAMY,GAAG,GAAGP,UAAU,CAACR,IAAI,CAACc,GAAL,CAAS,UAAT,CAAD,EAAuBd,IAAI,CAACI,IAAL,CAAUK,QAAjC,CAAtB;IACA,IAAIM,GAAJ,EAAS,OAAO,YAAYA,GAAnB;;;EAGX,IAAI,CAACd,YAAD,IAAiBC,KAAK,CAACC,UAAN,CAAiBH,IAAI,CAACI,IAAL,CAAUC,IAA3B;;EAAiD,IAAjD,CAArB,EAA6E;IAC3E,MAAM;MAAEM;QAAUX,IAAI,CAACO,QAAL,EAAlB;IACA,IAAI,OAAOI,KAAP,KAAiB,QAArB,EAA+B,OAAOA,KAAP;;AAElC;AAEM,SAASK,aAAT,CAAuBC,GAAvB,EAGL;EACA,IACEA,GAAG,CAACJ,kBAAJ,MACAI,GAAG,CAACH,GAAJ,CAAQ,UAAR,EAAoBb,YAApB,CAAiC;IAAEI,IAAI,EAAE;GAAzC,CAFF,EAGE;IACA,MAAMa,EAAE,GAAGnB,SAAS,CAACkB,GAAG,CAACH,GAAJ,CAAQ,QAAR,CAAD,CAApB;;IAEA,IAAII,EAAJ,EAAQ;MACN,OAAO;QAAEA,EAAF;QAAMC,SAAS,EAAE;OAAxB;;;IAEF,OAAO;MAAED,EAAE,EAAE,IAAN;MAAYC,SAAS,EAAE;KAA9B;;;EAGF,MAAMD,EAAE,GAAGnB,SAAS,CAACkB,GAAD,CAApB;;EACA,IAAIC,EAAJ,EAAQ;IACN,OAAO;MAAEA,EAAF;MAAMC,SAAS,EAAE;KAAxB;;;EAGF,MAAM;IAAER;MAAUM,GAAG,CAACV,QAAJ,EAAlB;;EACA,IAAII,KAAK,KAAKS,SAAd,EAAyB;IACvB,OAAO;MAAEF,EAAE,EAAEvB,OAAO,CAACgB,KAAD,CAAb;MAAsBQ,SAAS,EAAE;KAAxC;GADF,MAEO,IAAIF,GAAG,CAACI,eAAJ,EAAJ,EAA2B;IAChC,OAAO;MAAEH,EAAE,EAAE,QAAN;MAAgBC,SAAS,EAAE;KAAlC;GADK,MAEA,IAAIF,GAAG,CAACK,UAAJ,EAAJ,EAAsB;IAC3B,OAAO;MAAEJ,EAAE,EAAE,UAAN;MAAkBC,SAAS,EAAE;KAApC;;;EAGF,OAAO;IAAED,EAAE,EAAE,IAAN;IAAYC,SAAS,EAAE;GAA9B;AACD;AAEM,SAASI,eAAT,CAAyB;EAAEnB;AAAF,CAAzB,EAAkE;EACvE,IAAIA,IAAI,CAACoB,UAAL,CAAgBC,MAAhB,KAA2B,CAA/B,EAAkC,OAAOrB,IAAI,CAACsB,MAAL,CAAYf,KAAnB;AACnC;AAEM,SAASgB,gBAAT,CAA0B;EAAEvB;AAAF,CAA1B,EAA2D;EAChE,IAAI,CAAC1B,GAAC,CAACkD,qBAAF,CAAwBxB,IAAxB,CAAL,EAAoC;EACpC,MAAM;IAAEyB;MAAezB,IAAvB;;EACA,IACE1B,GAAC,CAACoD,gBAAF,CAAmBD,UAAnB,KACAnD,GAAC,CAACuB,YAAF,CAAe4B,UAAU,CAACE,MAA1B,CADA,IAEAF,UAAU,CAACE,MAAX,CAAkB1B,IAAlB,KAA2B,SAF3B,IAGAwB,UAAU,CAACG,SAAX,CAAqBP,MAArB,KAAgC,CAHhC,IAIA/C,GAAC,CAACgC,eAAF,CAAkBmB,UAAU,CAACG,SAAX,CAAqB,CAArB,CAAlB,CALF,EAME;IACA,OAAOH,UAAU,CAACG,SAAX,CAAqB,CAArB,EAAwBrB,KAA/B;;AAEH;;AAED,SAASsB,KAAT,CAAe7B,IAAf,EAA6B;;EAE3BA,IAAI,CAAC8B,WAAL,GAAmB,CAAnB;EACA,OAAO9B,IAAP;AACD;;AAEM,SAAS+B,iBAAT,CAA2BC,KAA3B,EAAgD;EACrD,OAAQpC,IAAD,IAA2B;IAChC,MAAMqC,IAAI,GAAGrC,IAAI,CAACsC,UAAL,CAAgBC,CAAC,IAAIA,CAAC,CAACC,SAAF,EAArB,CAAb;IAEA,OAAO;MACLC,kBAAkB,CAACC,GAAD,EAAM;QACtBN,KAAK,CAACO,cAAN,CAAqBN,IAArB,EAA2BK,GAA3B,EAAgC,CAACE,QAAD,EAAWlB,MAAX,KAAsB;UACpD,OAAOkB,QAAQ,GACXjE,QAAQ,CAACkE,SAAT,CAAmBC,GAAI,WAAUpB,MAAO,GAD7B,GAEXhD,GAAC,CAACqE,iBAAF,CAAoB,EAApB,EAAwBrB,MAAxB,CAFJ;SADF;OAFG;;MAQLsB,iBAAiB,CAACN,GAAD,EAAMrC,IAAN,EAAY4C,IAAI,GAAG5C,IAAnB,EAAyB;QACxC,OAAO+B,KAAK,CAACc,UAAN,CAAiBb,IAAjB,EAAuBK,GAAvB,EAA4BrC,IAA5B,EAAkC,CAACuC,QAAD,EAAWlB,MAAX,EAAmBrB,IAAnB,KAA4B;UACnE,MAAMa,EAAE,GAAGmB,IAAI,CAACnC,KAAL,CAAWiD,qBAAX,CAAiCF,IAAjC,CAAX;UACA,OAAO;YACL7C,IAAI,EAAEwC,QAAQ,GACVX,KAAK,CAACtD,QAAQ,CAACkE,SAAT,CAAmBC,GAAI;AAC7C,wBAAwB5B,EAAG,cAAaQ,MAAO,KAAIrB,IAAK;AACxD,iBAFqB,CADK,GAIV3B,GAAC,CAACqE,iBAAF,CAAoB,CAACrE,GAAC,CAAC0E,eAAF,CAAkBlC,EAAlB,EAAsBb,IAAtB,CAAD,CAApB,EAAmDqB,MAAnD,CALC;YAMLrB,IAAI,EAAEa,EAAE,CAACb;WANX;SAFK,CAAP;OATG;;MAqBLgD,mBAAmB,CAACX,GAAD,EAAMO,IAAI,GAAGP,GAAb,EAAkB;QACnC,OAAON,KAAK,CAACc,UAAN,CAAiBb,IAAjB,EAAuBK,GAAvB,EAA4B,SAA5B,EAAuC,CAACE,QAAD,EAAWlB,MAAX,KAAsB;UAClE,MAAMR,EAAE,GAAGmB,IAAI,CAACnC,KAAL,CAAWiD,qBAAX,CAAiCF,IAAjC,CAAX;UACA,OAAO;YACL7C,IAAI,EAAEwC,QAAQ,GACVX,KAAK,CAACtD,QAAQ,CAACkE,SAAT,CAAmBC,GAAI,OAAM5B,EAAG,cAAaQ,MAAO,GAArD,CADK,GAEVhD,GAAC,CAACqE,iBAAF,CAAoB,CAACrE,GAAC,CAAC4E,sBAAF,CAAyBpC,EAAzB,CAAD,CAApB,EAAoDQ,MAApD,CAHC;YAILrB,IAAI,EAAEa,EAAE,CAACb;WAJX;SAFK,CAAP;;;KAtBJ;GAHF;AAqCD;;;EC7JQ5B,OAASC;;AAIH,MAAM6E,YAAN,CAAmB;EAMhCC,WAAW,CAACC,QAAD,EAAoC;IAC7C,KAAKC,QAAL,GAAgB,IAAIC,OAAJ,EAAhB;IACA,KAAKC,iBAAL,GAAyB,IAAID,OAAJ,EAAzB;IACA,KAAKE,YAAL,GAAoB,IAAIF,OAAJ,EAApB;IACA,KAAKG,SAAL,GAAiBL,QAAjB;;;EAGFd,cAAc,CACZoB,WADY,EAEZrB,GAFY;EAIZsB,MAJY,EAKZ;IACA,MAAM1E,GAAG,GAAG,KAAK2E,aAAL,CAAmBF,WAAnB,EAAgCrB,GAAhC,CAAZ;;IACA,MAAMwB,OAAO,GAAG,KAAKC,OAAL,CACd,KAAKP,iBADS,EAEdG,WAFc,EAGd/E,GAHc,CAAhB;;IAMA,IAAIkF,OAAO,CAAC/E,GAAR,CAAYG,GAAZ,CAAJ,EAAsB;IAEtB,MAAMc,IAAI,GAAG4D,MAAM,CACjBD,WAAW,CAAC3D,IAAZ,CAAiBgE,UAAjB,KAAgC,QADf,EAEjB1F,CAAC,CAAC2F,aAAF,CAAgB,KAAKP,SAAL,CAAepB,GAAf,CAAhB,CAFiB,CAAnB;IAIAwB,OAAO,CAAC9E,GAAR,CAAYE,GAAZ;;IACA,KAAKgF,aAAL,CAAmBP,WAAnB,EAAgC3D,IAAhC;;;EAGF8C,UAAU,CACRa,WADQ,EAERrB,GAFQ,EAGRrC,IAHQ,EAIR2D,MAJQ,EAWR;IACA,MAAM1E,GAAG,GAAG,KAAK2E,aAAL,CAAmBF,WAAnB,EAAgCrB,GAAhC,EAAqCrC,IAArC,CAAZ;;IACA,MAAM6D,OAAO,GAAG,KAAKC,OAAL,CACd,KAAKT,QADS,EAEdK,WAFc,EAGdQ,GAHc,CAAhB;;IAMA,IAAI,CAACL,OAAO,CAAC/E,GAAR,CAAYG,GAAZ,CAAL,EAAuB;MACrB,MAAM;QAAEc,IAAF;QAAQC,IAAI,EAAEa;UAAO8C,MAAM,CAC/BD,WAAW,CAAC3D,IAAZ,CAAiBgE,UAAjB,KAAgC,QADD,EAE/B1F,CAAC,CAAC2F,aAAF,CAAgB,KAAKP,SAAL,CAAepB,GAAf,CAAhB,CAF+B,EAG/BhE,CAAC,CAAC8F,UAAF,CAAanE,IAAb,CAH+B,CAAjC;MAKA6D,OAAO,CAACO,GAAR,CAAYnF,GAAZ,EAAiB4B,EAAjB;;MACA,KAAKoD,aAAL,CAAmBP,WAAnB,EAAgC3D,IAAhC;;;IAGF,OAAO1B,CAAC,CAAC8F,UAAF,CAAaN,OAAO,CAACpD,GAAR,CAAYxB,GAAZ,CAAb,CAAP;;;EAGFgF,aAAa,CAACP,WAAD,EAAmC3D,IAAnC,EAAiD;IAC5D,MAAMsE,UAAU,GAAG,KAAKb,YAAL,CAAkB/C,GAAlB,CAAsBiD,WAAtB,CAAnB;;IACA,IAAIY,QAAJ;;IACA,IACED,UAAU,IACVA,UAAU,CAACtE,IADX;;IAIAsE,UAAU,CAAC9D,MAAX,KAAsBmD,WAAW,CAAC3D,IAJlC,IAKAsE,UAAU,CAACE,SAAX,KAAyBb,WAAW,CAAC3D,IAAZ,CAAiByE,IAN5C,EAOE;MACAF,QAAQ,GAAGD,UAAU,CAACI,WAAX,CAAuB1E,IAAvB,CAAX;KARF,MASO;MACLuE,QAAQ,GAAGZ,WAAW,CAACgB,gBAAZ,CAA6B,MAA7B,EAAqC3E,IAArC,CAAX;;;IAEF,MAAM4E,OAAO,GAAGL,QAAQ,CAACA,QAAQ,CAAClD,MAAT,GAAkB,CAAnB,CAAxB;;IACA,KAAKoC,YAAL,CAAkBY,GAAlB,CAAsBV,WAAtB,EAAmCiB,OAAnC;;AAGJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;EAIEb,OAAO,CACLc,GADK,EAELlB,WAFK,EAGLmB,UAHK,EAIF;IACH,IAAIC,UAAU,GAAGF,GAAG,CAACnE,GAAJ,CAAQiD,WAAR,CAAjB;;IACA,IAAI,CAACoB,UAAL,EAAiB;MACfA,UAAU,GAAG,IAAID,UAAJ,EAAb;MACAD,GAAG,CAACR,GAAJ,CAAQV,WAAR,EAAqBoB,UAArB;;;IAEF,OAAOA,UAAP;;;EAGFlB,aAAa,CACXF,WADW,EAEXrB,GAFW,EAGXrC,IAAY,GAAG,EAHJ,EAIH;IACR,MAAM;MAAE+D;QAAeL,WAAW,CAAC3D,IAAnC,CADQ;;;;IAMR,OAAQ,GAAEC,IAAI,IAAI+D,UAAW,KAAI1B,GAAI,KAAIrC,IAAK,EAA9C;;;AApI8B;;ACD3B,MAAM+E,0BAA0B,GACrC,+EADK;AAGA,SAASC,yBAAT,CAAmCC,OAAnC,EAA6D;EAClE,OAAOC,IAAI,CAACC,SAAL,CAAeC,eAAe,CAACH,OAAD,CAA9B,EAAyC,IAAzC,EAA+C,CAA/C,CAAP;AACD;;ACFD,SAASI,eAAT,CAAyBC,OAAzB,EAA0D;EACxD,IAAIA,OAAO,YAAYC,MAAvB,EAA+B,OAAOD,OAAP;;EAE/B,IAAI;IACF,OAAO,IAAIC,MAAJ,CAAY,IAAGD,OAAQ,GAAvB,CAAP;GADF,CAEE,MAAM;IACN,OAAO,IAAP;;AAEH;;AAED,SAASE,gBAAT,CAA0BC,KAA1B,EAAiCC,MAAjC,EAAyC;EACvC,IAAI,CAACA,MAAM,CAACtE,MAAZ,EAAoB,OAAO,EAAP;EACpB,OACG,sBAAqBqE,KAAM,yCAA5B,GACAC,MAAM,CAACd,GAAP,CAAWe,QAAQ,IAAK,OAAMC,MAAM,CAACD,QAAD,CAAW,IAA/C,EAAoDE,IAApD,CAAyD,EAAzD,CAFF;AAID;;AAED,SAASC,mBAAT,CAA6BC,UAA7B,EAAyC;EACvC,IAAI,CAACA,UAAU,CAACC,IAAhB,EAAsB,OAAO,EAAP;EACtB,OACG,sFAAD,GACAC,KAAK,CAACC,IAAN,CAAWH,UAAX,EAAuB/F,IAAI,IAAK,OAAMA,IAAK,IAA3C,EAAgD6F,IAAhD,CAAqD,EAArD,CAFF;AAID;;AAEM,SAASM,sBAAT,CACLC,QADK,EAELC,SAFK,EAGLC,eAHK,EAILC,eAJK,EAKL;EACA,IAAIC,OAAJ;;EACA,MAAMC,MAAM,GAAGnB,OAAO,IAAI;IACxB,MAAMoB,MAAM,GAAGrB,eAAe,CAACC,OAAD,CAA9B;IACA,IAAI,CAACoB,MAAL,EAAa,OAAO,KAAP;IAEb,IAAIC,OAAO,GAAG,KAAd;;IACA,KAAK,MAAMC,QAAX,IAAuBP,SAAvB,EAAkC;MAChC,IAAIK,MAAM,CAACG,IAAP,CAAYD,QAAZ,CAAJ,EAA2B;QACzBD,OAAO,GAAG,IAAV;QACAH,OAAO,CAACzH,GAAR,CAAY6H,QAAZ;;;;IAGJ,OAAO,CAACD,OAAR;GAXF,CAFA;;;EAiBA,MAAMG,OAAO,GAAGN,OAAO,GAAG,IAAI7H,GAAJ,EAA1B;EACA,MAAMoI,aAAa,GAAGd,KAAK,CAACC,IAAN,CAAWI,eAAX,EAA4BG,MAA5B,CAAmCA,MAAnC,CAAtB,CAlBA;;EAqBA,MAAMO,OAAO,GAAGR,OAAO,GAAG,IAAI7H,GAAJ,EAA1B;EACA,MAAMsI,aAAa,GAAGhB,KAAK,CAACC,IAAN,CAAWK,eAAX,EAA4BE,MAA5B,CAAmCA,MAAnC,CAAtB;EAEA,MAAMV,UAAU,GAAGxH,YAAY,CAACuI,OAAD,EAAUE,OAAV,CAA/B;;EAEA,IACEjB,UAAU,CAACC,IAAX,GAAkB,CAAlB,IACAe,aAAa,CAAC3F,MAAd,GAAuB,CADvB,IAEA6F,aAAa,CAAC7F,MAAd,GAAuB,CAHzB,EAIE;IACA,MAAM,IAAI8F,KAAJ,CACH,+BAA8Bd,QAAS,uBAAxC,GACEZ,gBAAgB,CAAC,SAAD,EAAYuB,aAAZ,CADlB,GAEEvB,gBAAgB,CAAC,SAAD,EAAYyB,aAAZ,CAFlB,GAGEnB,mBAAmB,CAACC,UAAD,CAJjB,CAAN;;;EAQF,OAAO;IAAEe,OAAF;IAAWE;GAAlB;AACD;AAEM,SAASG,gCAAT,CACLC,OADK,EAELC,QAFK,EAGsB;EAC3B,MAAM;IAAEC,mBAAmB,GAAG;MAAOF,OAArC;EACA,IAAIE,mBAAmB,KAAK,KAA5B,EAAmC,OAAO,KAAP;EAEnC,MAAMC,MAAM,GAAGF,QAAQ,CAACE,MAAT,CAAgBA,MAAM,IAAIA,MAAJ,oBAAIA,MAAM,CAAEvH,IAAlC,CAAf;EAEA,MAAM;IACJwH,GAAG,GAAG,UADF;IAEJC,MAAM,GAAGF,MAAM,KAAK,qBAAX,GAAmC,OAAnC,GAA6C,QAFlD;IAGJG,GAAG,GAAG;MACJJ,mBAJJ;EAMA,OAAO;IAAEE,GAAF;IAAOC,MAAP;IAAeC;GAAtB;AACD;;AC1FD,aACEC,YADa,IAEV;EACH,SAASC,QAAT,CAAkB5I,MAAlB,EAA0BC,GAA1B,EAA+B6B,SAA/B,EAA0CnB,IAA1C,EAAgD;IAC9C,OAAOgI,YAAY,CAAC;MAAEE,IAAI,EAAE,UAAR;MAAoB7I,MAApB;MAA4BC,GAA5B;MAAiC6B;KAAlC,EAA+CnB,IAA/C,CAAnB;;;EAGF,OAAO;;IAELmI,oBAAoB,CAACnI,IAAD,EAA+B;MACjD,MAAM;QACJI,IAAI,EAAE;UAAEC;SADJ;QAEJH;UACEF,IAHJ;MAIA,IAAIE,KAAK,CAACkI,oBAAN,CAA2B/H,IAA3B,CAAJ,EAAsC;MAEtC2H,YAAY,CAAC;QAAEE,IAAI,EAAE,QAAR;QAAkB7H;OAAnB,EAA2BL,IAA3B,CAAZ;KATG;;IAYLqI,gBAAgB,CAACrI,IAAD,EAAqC;MACnD,MAAMV,GAAG,GAAGkB,UAAU,CAACR,IAAI,CAACc,GAAL,CAAS,UAAT,CAAD,EAAuBd,IAAI,CAACI,IAAL,CAAUK,QAAjC,CAAtB;MACA,IAAI,CAACnB,GAAD,IAAQA,GAAG,KAAK,WAApB,EAAiC;MAEjC,MAAMD,MAAM,GAAGW,IAAI,CAACc,GAAL,CAAS,QAAT,CAAf;;MACA,IAAIzB,MAAM,CAACY,YAAP,EAAJ,EAA2B;QACzB,MAAMqI,OAAO,GAAGjJ,MAAM,CAACa,KAAP,CAAaqI,UAAb,CAAwBlJ,MAAM,CAACe,IAAP,CAAYC,IAApC,CAAhB;QACA,IAAIiI,OAAO,IAAIA,OAAO,CAACtI,IAAR,CAAawI,0BAAb,EAAf,EAA0D;;;MAG5D,MAAM9G,MAAM,GAAGV,aAAa,CAAC3B,MAAD,CAA5B;MACA,OAAO4I,QAAQ,CAACvG,MAAM,CAACR,EAAR,EAAY5B,GAAZ,EAAiBoC,MAAM,CAACP,SAAxB,EAAmCnB,IAAnC,CAAf;KAvBG;;IA0BLyI,aAAa,CAACzI,IAAD,EAAkC;MAC7C,MAAM;QAAE0I,UAAF;QAAc9H;UAAWZ,IAA/B;MACA,IAAIiB,GAAJ,CAF6C;;MAK7C,IAAIyH,UAAU,CAACC,oBAAX,EAAJ,EAAuC;QACrC1H,GAAG,GAAGyH,UAAU,CAAC5H,GAAX,CAAe,MAAf,CAAN,CADqC;OAAvC,MAGO,IAAI4H,UAAU,CAACE,sBAAX,EAAJ,EAAyC;QAC9C3H,GAAG,GAAGyH,UAAU,CAAC5H,GAAX,CAAe,OAAf,CAAN,CAD8C;;OAAzC,MAIA,IAAI4H,UAAU,CAACpH,UAAX,EAAJ,EAA6B;QAClC,MAAMuH,KAAK,GAAGH,UAAU,CAACA,UAAzB;;QACA,IAAIG,KAAK,CAAC/G,gBAAN,MAA4B+G,KAAK,CAACC,eAAN,EAAhC,EAAyD;UACvD,IAAID,KAAK,CAACzI,IAAN,CAAW2B,MAAX,KAAsBnB,MAA1B,EAAkC;YAChCK,GAAG,GAAG4H,KAAK,CAAC/H,GAAN,CAAU,WAAV,EAAuBd,IAAI,CAACV,GAA5B,CAAN;;;;;MAKN,IAAI4B,EAAE,GAAG,IAAT;MACA,IAAIC,SAAS,GAAG,IAAhB;MACA,IAAIF,GAAJ,EAAS,CAAC;QAAEC,EAAF;QAAMC;UAAcH,aAAa,CAACC,GAAD,CAAlC;;MAET,KAAK,MAAM8H,IAAX,IAAmB/I,IAAI,CAACc,GAAL,CAAS,YAAT,CAAnB,EAA2C;QACzC,IAAIiI,IAAI,CAACC,gBAAL,EAAJ,EAA6B;UAC3B,MAAM1J,GAAG,GAAGkB,UAAU,CAACuI,IAAI,CAACjI,GAAL,CAAS,KAAT,CAAD,CAAtB;UACA,IAAIxB,GAAJ,EAAS2I,QAAQ,CAAC/G,EAAD,EAAK5B,GAAL,EAAU6B,SAAV,EAAqB4H,IAArB,CAAR;;;KAtDV;;IA2DLE,gBAAgB,CAACjJ,IAAD,EAAqC;MACnD,IAAIA,IAAI,CAACI,IAAL,CAAU8I,QAAV,KAAuB,IAA3B,EAAiC;MAEjC,MAAMxH,MAAM,GAAGV,aAAa,CAAChB,IAAI,CAACc,GAAL,CAAS,OAAT,CAAD,CAA5B;MACA,MAAMxB,GAAG,GAAGkB,UAAU,CAACR,IAAI,CAACc,GAAL,CAAS,MAAT,CAAD,EAAmB,IAAnB,CAAtB;MAEA,IAAI,CAACxB,GAAL,EAAU;MAEV0I,YAAY,CACV;QACEE,IAAI,EAAE,IADR;QAEE7I,MAAM,EAAEqC,MAAM,CAACR,EAFjB;QAGE5B,GAHF;QAIE6B,SAAS,EAAEO,MAAM,CAACP;OALV,EAOVnB,IAPU,CAAZ;;;GAnEJ;AA8ED,CArFD;;ACAA,aACEgI,YADa,KAET;EACJmB,iBAAiB,CAACnJ,IAAD,EAAsC;IACrD,MAAM0B,MAAM,GAAGH,eAAe,CAACvB,IAAD,CAA9B;IACA,IAAI,CAAC0B,MAAL,EAAa;IACbsG,YAAY,CAAC;MAAEE,IAAI,EAAE,QAAR;MAAkBxG;KAAnB,EAA6B1B,IAA7B,CAAZ;GAJE;;EAMJoJ,OAAO,CAACpJ,IAAD,EAA4B;IACjCA,IAAI,CAACc,GAAL,CAAS,MAAT,EAAiB7B,OAAjB,CAAyBoK,QAAQ,IAAI;MACnC,MAAM3H,MAAM,GAAGC,gBAAgB,CAAC0H,QAAD,CAA/B;MACA,IAAI,CAAC3H,MAAL,EAAa;MACbsG,YAAY,CAAC;QAAEE,IAAI,EAAE,QAAR;QAAkBxG;OAAnB,EAA6B2H,QAA7B,CAAZ;KAHF;;;AAPE,CAFS,CAAf;;ACNO,SAASC,OAAT,CACLC,OADK,EAELC,UAFK,EAGLC,eAHK,EAIG;EACR,IAAIA,eAAe,KAAK,KAAxB,EAA+B,OAAOD,UAAP;EAE/B,MAAM,IAAIjC,KAAJ,CACH,yEADG,CAAN;AAGD;;AAGM,SAASpI,GAAT,CAAauK,OAAb,EAA8BrJ,IAA9B,EAA4C;EACjD,OAAO,IAAP;AACD;;AAGM,SAASsJ,UAAT,CAAoBC,WAApB,EAA8C;;AAG9C,SAASC,eAAT,CAAyBD,WAAzB,EAAmD;;ACX1D,MAAME,qBAAqB,GAAG,IAAI9K,GAAJ,CAAgB,CAC5C,QAD4C,EAE5C,YAF4C,EAG5C,MAH4C,EAI5C,QAJ4C,CAAhB,CAA9B;AAOe,SAAS+K,kBAAT,CACbrD,SADa,EAEE;EACf,MAAM;IAAEsD,MAAM,EAAEC,OAAV;IAAmBC,QAAQ,EAAEC,SAA7B;IAAwCC,MAAM,EAAEC;MAAY3D,SAAlE;EAEA,OAAO4D,IAAI,IAAI;IACb,IAAIA,IAAI,CAACpC,IAAL,KAAc,QAAd,IAA0BmC,OAA1B,IAAqClL,KAAG,CAACkL,OAAD,EAAUC,IAAI,CAACjK,IAAf,CAA5C,EAAkE;MAChE,OAAO;QAAE6H,IAAI,EAAE,QAAR;QAAkBqC,IAAI,EAAEF,OAAO,CAACC,IAAI,CAACjK,IAAN,CAA/B;QAA4CA,IAAI,EAAEiK,IAAI,CAACjK;OAA9D;;;IAGF,IAAIiK,IAAI,CAACpC,IAAL,KAAc,UAAd,IAA4BoC,IAAI,CAACpC,IAAL,KAAc,IAA9C,EAAoD;MAClD,MAAM;QAAE/G,SAAF;QAAa9B,MAAb;QAAqBC;UAAQgL,IAAnC;;MAEA,IAAIjL,MAAM,IAAI8B,SAAS,KAAK,QAA5B,EAAsC;QACpC,IAAIkJ,OAAO,IAAIP,qBAAqB,CAAC3K,GAAtB,CAA0BE,MAA1B,CAAX,IAAgDF,KAAG,CAACkL,OAAD,EAAU/K,GAAV,CAAvD,EAAuE;UACrE,OAAO;YAAE4I,IAAI,EAAE,QAAR;YAAkBqC,IAAI,EAAEF,OAAO,CAAC/K,GAAD,CAA/B;YAAsCe,IAAI,EAAEf;WAAnD;;;QAGF,IAAI2K,OAAO,IAAI9K,KAAG,CAAC8K,OAAD,EAAU5K,MAAV,CAAd,IAAmCF,KAAG,CAAC8K,OAAO,CAAC5K,MAAD,CAAR,EAAkBC,GAAlB,CAA1C,EAAkE;UAChE,OAAO;YACL4I,IAAI,EAAE,QADD;YAELqC,IAAI,EAAEN,OAAO,CAAC5K,MAAD,CAAP,CAAgBC,GAAhB,CAFD;YAGLe,IAAI,EAAG,GAAEhB,MAAO,IAAGC,GAAI;WAHzB;;;;MAQJ,IAAI6K,SAAS,IAAIhL,KAAG,CAACgL,SAAD,EAAY7K,GAAZ,CAApB,EAAsC;QACpC,OAAO;UAAE4I,IAAI,EAAE,UAAR;UAAoBqC,IAAI,EAAEJ,SAAS,CAAC7K,GAAD,CAAnC;UAA0Ce,IAAI,EAAG,GAAEf,GAAI;SAA9D;;;GAvBN;AA2BD;;AC1CD,MAAMkL,UAAU,GAAGC,WAAW,CAACC,OAAZ,IAAuBD,WAA1C;;AA8BA,SAASE,cAAT,CACElD,OADF,EAEEC,QAFF,EAaE;EACA,MAAM;IACJkD,MADI;IAEJtF,OAAO,EAAEuF,aAFL;IAGJC,wBAHI;IAIJC,UAJI;IAKJC,KALI;IAMJC,oBANI;IAOJxB,eAPI;IAQJ,GAAGyB;MACDzD,OATJ;;EAWA,IAAI0D,OAAO,CAAC1D,OAAD,CAAX,EAAsB;IACpB,MAAM,IAAIF,KAAJ,CACH;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qFATU,CAAN;;;EAaF,IAAI6D,UAAJ;EACA,IAAIR,MAAM,KAAK,cAAf,EAA+BQ,UAAU,GAAG,aAAb,CAA/B,KACK,IAAIR,MAAM,KAAK,cAAf,EAA+BQ,UAAU,GAAG,aAAb,CAA/B,KACA,IAAIR,MAAM,KAAK,YAAf,EAA6BQ,UAAU,GAAG,WAAb,CAA7B,KACA,IAAI,OAAOR,MAAP,KAAkB,QAAtB,EAAgC;IACnC,MAAM,IAAIrD,KAAJ,CAAU,0BAAV,CAAN;GADG,MAEE;IACL,MAAM,IAAIA,KAAJ,CACH,uDAAD,GACG,8BAA6BhC,IAAI,CAACC,SAAL,CAAeoF,MAAf,CAAuB,GAFnD,CAAN;;;EAMF,IAAI,OAAOK,oBAAP,KAAgC,UAApC,EAAgD;IAC9C,IAAIxD,OAAO,CAACN,OAAR,IAAmBM,OAAO,CAACJ,OAA/B,EAAwC;MACtC,MAAM,IAAIE,KAAJ,CACH,wDAAD,GACG,kCAFC,CAAN;;GAFJ,MAOO,IAAI0D,oBAAoB,IAAI,IAA5B,EAAkC;IACvC,MAAM,IAAI1D,KAAJ,CACH,wDAAD,GACG,cAAahC,IAAI,CAACC,SAAL,CAAeyF,oBAAf,CAAqC,GAFjD,CAAN;;;EAMF,IACExB,eAAe,IAAI,IAAnB,IACA,OAAOA,eAAP,KAA2B,SAD3B,IAEA,OAAOA,eAAP,KAA2B,QAH7B,EAIE;IACA,MAAM,IAAIlC,KAAJ,CACH,4DAAD,GACG,cAAahC,IAAI,CAACC,SAAL,CAAeiE,eAAf,CAAgC,GAF5C,CAAN;;;EAMF,IAAInE,OAAJ;;EAEA;;EAGEuF,aAAa,IACbE,UADA,IAEAD,wBALF,EAME;IACA,MAAMO,UAAU,GACd,OAAOR,aAAP,KAAyB,QAAzB,IAAqCvE,KAAK,CAACgF,OAAN,CAAcT,aAAd,CAArC,GACI;MAAEU,QAAQ,EAAEV;KADhB,GAEIA,aAHN;IAKAvF,OAAO,GAAGkF,UAAU,CAACa,UAAD,EAAa;MAC/BP,wBAD+B;MAE/BC;KAFkB,CAApB;GAZF,MAgBO;IACLzF,OAAO,GAAGoC,QAAQ,CAACpC,OAAT,EAAV;;;EAGF,OAAO;IACLsF,MADK;IAELQ,UAFK;IAGL9F,OAHK;IAILmE,eAAe,EAAEA,eAAF,WAAEA,eAAF,GAAqB,KAJ/B;IAKLwB,oBALK;IAMLD,KAAK,EAAE,CAAC,CAACA,KANJ;IAOLE,eAAe,EAAEA;GAPnB;AASD;;AAED,SAASM,mBAAT,CACEC,OADF,EAEEhE,OAFF,EAGEE,mBAHF,EAIE4B,OAJF,EAKEmC,QALF,EAMEhE,QANF,EAOE;EACA,MAAM;IACJkD,MADI;IAEJQ,UAFI;IAGJ9F,OAHI;IAIJ0F,KAJI;IAKJC,oBALI;IAMJC,eANI;IAOJzB;MACEkB,cAAc,CAAUlD,OAAV,EAAmBC,QAAnB,CARlB;EAUA,MAAMiE,QAAQ,GAAGxJ,iBAAiB,CAChC,IAAIoB,YAAJ,CAAiBiG,UAAU,IACzBoC,OAAA,CAAarC,OAAb,EAAsBC,UAAtB,EAAkCC,eAAlC,CADF,CADgC,CAAlC,CAXA;;EAkBA,IAAItC,OAAJ,EAAaE,OAAb;EACA,IAAIwE,gBAAJ;EACA,IAAIC,cAAJ;EACA,IAAIC,eAAJ;EAEA,MAAMC,SAAS,GAAG,IAAIzH,GAAJ,EAAlB;EAEA,MAAM0H,GAAgB,GAAG;IACvBC,KAAK,EAAExE,QADgB;IAEvBiE,QAFuB;IAGvBf,MAAM,EAAEnD,OAAO,CAACmD,MAHO;IAIvBtF,OAJuB;IAKvByE,kBALuB;;IAMvBkB,oBAAoB,CAAC5K,IAAD,EAAO;MACzB,IAAIyL,cAAc,KAAK1K,SAAvB,EAAkC;QAChC,MAAM,IAAImG,KAAJ,CACH,yBAAwBkE,OAAO,CAACpL,IAAK,aAAtC,GACG,+DAFC,CAAN;;;MAKF,IAAI,CAACyL,cAAc,CAAC3M,GAAf,CAAmBkB,IAAnB,CAAL,EAA+B;QAC7B8L,OAAO,CAACC,IAAR,CACG,yBAAwB3F,QAAQ,CAACpG,IAAK,aAAvC,GACG,qBAAoBA,IAAK,IAF9B;;;MAMF,IAAI0L,eAAe,IAAI,CAACA,eAAe,CAAC1L,IAAD,CAAvC,EAA+C,OAAO,KAAP;MAE/C,IAAIgM,YAAY,GAAGC,UAAU,CAACjM,IAAD,EAAOiF,OAAP,EAAgB;QAC3CiH,UAAU,EAAEV,gBAD+B;QAE3CW,QAAQ,EAAErF,OAFiC;QAG3CsF,QAAQ,EAAEpF;OAHiB,CAA7B;;MAMA,IAAI4D,oBAAJ,EAA0B;QACxBoB,YAAY,GAAGpB,oBAAoB,CAAC5K,IAAD,EAAOgM,YAAP,CAAnC;;QACA,IAAI,OAAOA,YAAP,KAAwB,SAA5B,EAAuC;UACrC,MAAM,IAAI9E,KAAJ,CAAW,8CAAX,CAAN;;;;MAIJ,OAAO8E,YAAP;KAnCqB;;IAqCvBrB,KAAK,CAAC3K,IAAD,EAAO;MAAA;;MACVqL,QAAQ,GAAGgB,KAAX,GAAmB,IAAnB;MAEA,IAAI,CAAC1B,KAAD,IAAU,CAAC3K,IAAf,EAAqB;MAErB,IAAIqL,QAAQ,GAAGhF,SAAX,CAAqBvH,GAArB,CAAyBsH,QAAQ,CAACpG,IAAlC,CAAJ,EAA6C;MAC7CqL,QAAQ,GAAGhF,SAAX,CAAqBtH,GAArB,CAAyBiB,IAAzB;MACA,sCAAAqL,QAAQ,IAAGG,gBAAX,8CAAWA,gBAAX,GAAgCA,gBAAhC;KA5CqB;;IA8CvBc,gBAAgB,CAACtM,IAAD,EAAOuM,OAAO,GAAG,GAAjB,EAAsB;MACpC,IAAIjF,mBAAmB,KAAK,KAA5B,EAAmC;;MACnC,IAAI8B,eAAJ,EAAqB;;;;QAInB;;;MAGF,MAAMoD,GAAG,GAAGD,OAAO,KAAK,GAAZ,GAAkBvM,IAAlB,GAA0B,GAAEA,IAAK,KAAIuM,OAAQ,EAAzD;MAEA,MAAMF,KAAK,GAAG/E,mBAAmB,CAACI,GAApB,GACV,KADU,GAEV+E,QAAQ,CAACd,SAAD,EAAa,GAAE3L,IAAK,OAAMkJ,OAAQ,EAAlC,EAAqC,MAC3CqC,GAAA,CAAA,CADM,CAFZ;;MAMA,IAAI,CAACc,KAAL,EAAY;QACVhB,QAAQ,GAAG9B,WAAX,CAAuBxK,GAAvB,CAA2ByN,GAA3B;;;;GAhEN;EAqEA,MAAMpG,QAAQ,GAAGgF,OAAO,CAACQ,GAAD,EAAMf,eAAN,EAAuB3B,OAAvB,CAAxB;;EAEA,IAAI,OAAO9C,QAAQ,CAAC2E,UAAD,CAAf,KAAgC,UAApC,EAAgD;IAC9C,MAAM,IAAI7D,KAAJ,CACH,QAAOd,QAAQ,CAACpG,IAAT,IAAiBoL,OAAO,CAACpL,IAAK,qBAAtC,GACG,gBAAeuK,MAAO,uBAFrB,CAAN;;;EAMF,IAAItE,KAAK,CAACgF,OAAN,CAAc7E,QAAQ,CAACC,SAAvB,CAAJ,EAAuC;IACrCoF,cAAc,GAAG,IAAI9M,GAAJ,CAAQyH,QAAQ,CAACC,SAAjB,CAAjB;IACAqF,eAAe,GAAGtF,QAAQ,CAACsF,eAA3B;GAFF,MAGO,IAAItF,QAAQ,CAACC,SAAb,EAAwB;IAC7BoF,cAAc,GAAG,IAAI9M,GAAJ,CAAQO,MAAM,CAACwN,IAAP,CAAYtG,QAAQ,CAACC,SAArB,CAAR,CAAjB;IACAmF,gBAAgB,GAAGpF,QAAQ,CAACC,SAA5B;IACAqF,eAAe,GAAGtF,QAAQ,CAACsF,eAA3B;GAHK,MAIA;IACLD,cAAc,GAAG,IAAI9M,GAAJ,EAAjB;;;EAGF,CAAC;IAAEmI,OAAF;IAAWE;MAAYb,sBAAsB,CAC5CC,QAAQ,CAACpG,IAAT,IAAiBoL,OAAO,CAACpL,IADmB,EAE5CyL,cAF4C,EAG5CZ,eAAe,CAAC/D,OAAhB,IAA2B,EAHiB,EAI5C+D,eAAe,CAAC7D,OAAhB,IAA2B,EAJiB,CAA9C;EAOA,OAAO;IACL2D,KADK;IAELJ,MAFK;IAGLtF,OAHK;IAILmB,QAJK;;IAKLuB,YAAY,CAACgF,OAAD,EAA0BhN,IAA1B,EAA0C;MACpD,MAAMiN,KAAK,GAAGtB,QAAQ,CAAC3L,IAAD,CAAtB;MACAyG,QAAQ,CAAC2E,UAAD,CAAR,CAAqB4B,OAArB,EAA8BC,KAA9B,EAAqCjN,IAArC;;;GAPJ;AAUD;;AAEc,SAASkN,sBAAT,CACbzB,OADa,EAEb;EACA,OAAO0B,OAAO,CAAC,CAACzF,QAAD,EAAWD,OAAX,EAAmC8B,OAAnC,KAAuD;IACpE7B,QAAQ,CAAC0F,aAAT,CAAuB,CAAvB;IACA,MAAM;MAAEC;QAAa3F,QAArB;IAEA,IAAIgE,QAAJ;IAEA,MAAM/D,mBAAmB,GAAGH,gCAAgC,CAC1DC,OAD0D,EAE1DC,QAF0D,CAA5D;IAKA,MAAM;MAAEsD,KAAF;MAASJ,MAAT;MAAiBtF,OAAjB;MAA0BmB,QAA1B;MAAoCuB;QACxCwD,mBAAmB,CACjBC,OADiB,EAEjBhE,OAFiB,EAGjBE,mBAHiB,EAIjB4B,OAJiB,EAKjB,MAAMmC,QALW,EAMjBhE,QANiB,CADrB;IAUA,MAAM4F,aAAa,GAAG1C,MAAM,KAAK,cAAX,GAA4B1L,KAA5B,GAAsCA,KAA5D;IAEA,MAAMqO,OAAO,GAAG9G,QAAQ,CAAC8G,OAAT,GACZF,QAAQ,CAACG,QAAT,CAAkBC,KAAlB,CAAwB,CAACH,aAAa,CAACtF,YAAD,CAAd,EAA8BvB,QAAQ,CAAC8G,OAAvC,CAAxB,CADY,GAEZD,aAAa,CAACtF,YAAD,CAFjB;;IAIA,IAAIgD,KAAK,IAAIA,KAAK,KAAK5F,0BAAvB,EAAmD;MACjD+G,OAAO,CAACtE,GAAR,CAAa,GAAEpB,QAAQ,CAACpG,IAAK,oBAA7B;MACA8L,OAAO,CAACtE,GAAR,CAAa,oBAAmBxC,yBAAyB,CAACC,OAAD,CAAU,EAAnE;MACA6G,OAAO,CAACtE,GAAR,CAAa,4BAA2B+C,MAAO,YAA/C;;;IAGF,OAAO;MACLvK,IAAI,EAAE,kBADD;MAELkN,OAFK;;MAILG,GAAG,GAAG;QAAA;;QACJhC,QAAQ,GAAG;UACThF,SAAS,EAAE,IAAI1H,GAAJ,EADF;UAET6M,gBAAgB,EAAEzK,SAFT;UAGTsL,KAAK,EAAE,KAHE;UAITiB,SAAS,EAAE,IAAI3O,GAAJ,EAJF;UAKT4K,WAAW,EAAE,IAAI5K,GAAJ;SALf;QAQA,iBAAAyH,QAAQ,CAACiH,GAAT,mCAAcE,KAAd,CAAoB,IAApB,EAA0B5L,SAA1B;OAbG;;MAeL6L,IAAI,GAAG;QAAA;;QACL,kBAAApH,QAAQ,CAACoH,IAAT,oCAAeD,KAAf,CAAqB,IAArB,EAA2B5L,SAA3B;;QAEA,IAAI2F,mBAAmB,KAAK,KAA5B,EAAmC;UACjC,IAAIA,mBAAmB,CAACE,GAApB,KAA4B,UAAhC,EAA4C;YAC1C+D,UAAA,CAAgBF,QAAQ,CAAC9B,WAAzB;WADF,MAEO;YACLgC,eAAA,CAAqBF,QAAQ,CAAC9B,WAA9B;;;;QAIJ,IAAI,CAACoB,KAAL,EAAY;QAEZ,IAAI,KAAK8C,QAAT,EAAmB3B,OAAO,CAACtE,GAAR,CAAa,MAAK,KAAKiG,QAAS,GAAhC;;QAEnB,IAAIpC,QAAQ,CAAChF,SAAT,CAAmBL,IAAnB,KAA4B,CAAhC,EAAmC;UACjC8F,OAAO,CAACtE,GAAR,CACE+C,MAAM,KAAK,cAAX,GACIc,QAAQ,CAACgB,KAAT,GACG,8BAA6BjG,QAAQ,CAACpG,IAAK,qCAD9C,GAEG,2BAA0BoG,QAAQ,CAACpG,IAAK,+BAH/C,GAIK,uCAAsCoG,QAAQ,CAACpG,IAAK,qCAL3D;UAQA;;;QAGF,IAAIuK,MAAM,KAAK,cAAf,EAA+B;UAC7BuB,OAAO,CAACtE,GAAR,CACG,OAAMpB,QAAQ,CAACpG,IAAK,yCAArB,GACG,0BAFL;SADF,MAKO;UACL8L,OAAO,CAACtE,GAAR,CACG,OAAMpB,QAAQ,CAACpG,IAAK,0CADvB;;;QAKF,KAAK,MAAMA,IAAX,IAAmBqL,QAAQ,CAAChF,SAA5B,EAAuC;UAAA;;UACrC,8BAAIgF,QAAQ,CAACG,gBAAb,aAAI,uBAA4BxL,IAA5B,CAAJ,EAAuC;YACrC,MAAM0N,eAAe,GAAGC,mBAAmB,CACzC3N,IADyC,EAEzCiF,OAFyC,EAGzCoG,QAAQ,CAACG,gBAHgC,CAA3C;YAMA,MAAMoC,gBAAgB,GAAG1I,IAAI,CAACC,SAAL,CAAeuI,eAAf,EACtBG,OADsB,CACd,IADc,EACR,IADQ,EAEtBA,OAFsB,CAEd,MAFc,EAEN,KAFM,EAGtBA,OAHsB,CAGd,MAHc,EAGN,KAHM,CAAzB;YAKA/B,OAAO,CAACtE,GAAR,CAAa,KAAIxH,IAAK,IAAG4N,gBAAiB,EAA1C;WAZF,MAaO;YACL9B,OAAO,CAACtE,GAAR,CAAa,KAAIxH,IAAK,EAAtB;;;;;KApER;GAjCY,CAAd;AA2GD;;AAED,SAASyM,QAAT,CAAkB7H,GAAlB,EAAuB3F,GAAvB,EAA4B6O,UAA5B,EAAwC;EACtC,IAAIC,GAAG,GAAGnJ,GAAG,CAACnE,GAAJ,CAAQxB,GAAR,CAAV;;EACA,IAAI8O,GAAG,KAAKhN,SAAZ,EAAuB;IACrBgN,GAAG,GAAGD,UAAU,EAAhB;IACAlJ,GAAG,CAACR,GAAJ,CAAQnF,GAAR,EAAa8O,GAAb;;;EAEF,OAAOA,GAAP;AACD;;AAED,SAASjD,OAAT,CAAiBlK,GAAjB,EAAsB;EACpB,OAAO1B,MAAM,CAACwN,IAAP,CAAY9L,GAAZ,EAAiBQ,MAAjB,KAA4B,CAAnC;AACD;;;;"} \ No newline at end of file +{"version":3,"file":"index.browser.mjs","sources":["../src/utils.ts","../src/imports-cache.ts","../src/debug-utils.ts","../src/normalize-options.ts","../src/visitors/usage.ts","../src/visitors/entry.ts","../src/browser/dependencies.ts","../src/meta-resolver.ts","../src/index.ts"],"sourcesContent":["import { types as t, template } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport type { Utils } from \"./types\";\nimport type ImportsCache from \"./imports-cache\";\n\nexport function intersection(a: Set, b: Set): Set {\n const result = new Set();\n a.forEach(v => b.has(v) && result.add(v));\n return result;\n}\n\nexport function has(object: any, key: string) {\n return Object.prototype.hasOwnProperty.call(object, key);\n}\n\nfunction getType(target: any): string {\n return Object.prototype.toString.call(target).slice(8, -1);\n}\n\nfunction resolveId(path): string {\n if (\n path.isIdentifier() &&\n !path.scope.hasBinding(path.node.name, /* noGlobals */ true)\n ) {\n return path.node.name;\n }\n\n const { deopt } = path.evaluate();\n if (deopt && deopt.isIdentifier()) {\n return deopt.node.name;\n }\n}\n\nexport function resolveKey(\n path: NodePath,\n computed: boolean = false,\n) {\n const { scope } = path;\n if (path.isStringLiteral()) return path.node.value;\n const isIdentifier = path.isIdentifier();\n if (\n isIdentifier &&\n !(computed || (path.parent as t.MemberExpression).computed)\n ) {\n return path.node.name;\n }\n\n if (\n computed &&\n path.isMemberExpression() &&\n path.get(\"object\").isIdentifier({ name: \"Symbol\" }) &&\n !scope.hasBinding(\"Symbol\", /* noGlobals */ true)\n ) {\n const sym = resolveKey(path.get(\"property\"), path.node.computed);\n if (sym) return \"Symbol.\" + sym;\n }\n\n if (!isIdentifier || scope.hasBinding(path.node.name, /* noGlobals */ true)) {\n const { value } = path.evaluate();\n if (typeof value === \"string\") return value;\n }\n}\n\nexport function resolveSource(obj: NodePath): {\n id: string | null;\n placement: \"prototype\" | \"static\" | null;\n} {\n if (\n obj.isMemberExpression() &&\n obj.get(\"property\").isIdentifier({ name: \"prototype\" })\n ) {\n const id = resolveId(obj.get(\"object\"));\n\n if (id) {\n return { id, placement: \"prototype\" };\n }\n return { id: null, placement: null };\n }\n\n const id = resolveId(obj);\n if (id) {\n return { id, placement: \"static\" };\n }\n\n const { value } = obj.evaluate();\n if (value !== undefined) {\n return { id: getType(value), placement: \"prototype\" };\n } else if (obj.isRegExpLiteral()) {\n return { id: \"RegExp\", placement: \"prototype\" };\n } else if (obj.isFunction()) {\n return { id: \"Function\", placement: \"prototype\" };\n }\n\n return { id: null, placement: null };\n}\n\nexport function getImportSource({ node }: NodePath) {\n if (node.specifiers.length === 0) return node.source.value;\n}\n\nexport function getRequireSource({ node }: NodePath) {\n if (!t.isExpressionStatement(node)) return;\n const { expression } = node;\n if (\n t.isCallExpression(expression) &&\n t.isIdentifier(expression.callee) &&\n expression.callee.name === \"require\" &&\n expression.arguments.length === 1 &&\n t.isStringLiteral(expression.arguments[0])\n ) {\n return expression.arguments[0].value;\n }\n}\n\nfunction hoist(node: t.Node) {\n // @ts-expect-error\n node._blockHoist = 3;\n return node;\n}\n\nexport function createUtilsGetter(cache: ImportsCache) {\n return (path: NodePath): Utils => {\n const prog = path.findParent(p => p.isProgram()) as NodePath;\n\n return {\n injectGlobalImport(url) {\n cache.storeAnonymous(prog, url, (isScript, source) => {\n return isScript\n ? template.statement.ast`require(${source})`\n : t.importDeclaration([], source);\n });\n },\n injectNamedImport(url, name, hint = name) {\n return cache.storeNamed(prog, url, name, (isScript, source, name) => {\n const id = prog.scope.generateUidIdentifier(hint);\n return {\n node: isScript\n ? hoist(template.statement.ast`\n var ${id} = require(${source}).${name}\n `)\n : t.importDeclaration([t.importSpecifier(id, name)], source),\n name: id.name,\n };\n });\n },\n injectDefaultImport(url, hint = url) {\n return cache.storeNamed(prog, url, \"default\", (isScript, source) => {\n const id = prog.scope.generateUidIdentifier(hint);\n return {\n node: isScript\n ? hoist(template.statement.ast`var ${id} = require(${source})`)\n : t.importDeclaration([t.importDefaultSpecifier(id)], source),\n name: id.name,\n };\n });\n },\n };\n };\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport { types as t } from \"@babel/core\";\n\ntype StrMap = Map;\n\nexport default class ImportsCache {\n _imports: WeakMap, StrMap>;\n _anonymousImports: WeakMap, Set>;\n _lastImports: WeakMap, NodePath>;\n _resolver: (url: string) => string;\n\n constructor(resolver: (url: string) => string) {\n this._imports = new WeakMap();\n this._anonymousImports = new WeakMap();\n this._lastImports = new WeakMap();\n this._resolver = resolver;\n }\n\n storeAnonymous(\n programPath: NodePath,\n url: string,\n // eslint-disable-next-line no-undef\n getVal: (isScript: boolean, source: t.StringLiteral) => t.Node,\n ) {\n const key = this._normalizeKey(programPath, url);\n const imports = this._ensure>(\n this._anonymousImports,\n programPath,\n Set,\n );\n\n if (imports.has(key)) return;\n\n const node = getVal(\n programPath.node.sourceType === \"script\",\n t.stringLiteral(this._resolver(url)),\n );\n imports.add(key);\n this._injectImport(programPath, node);\n }\n\n storeNamed(\n programPath: NodePath,\n url: string,\n name: string,\n getVal: (\n isScript: boolean,\n // eslint-disable-next-line no-undef\n source: t.StringLiteral,\n // eslint-disable-next-line no-undef\n name: t.Identifier,\n ) => { node: t.Node; name: string },\n ) {\n const key = this._normalizeKey(programPath, url, name);\n const imports = this._ensure>(\n this._imports,\n programPath,\n Map,\n );\n\n if (!imports.has(key)) {\n const { node, name: id } = getVal(\n programPath.node.sourceType === \"script\",\n t.stringLiteral(this._resolver(url)),\n t.identifier(name),\n );\n imports.set(key, id);\n this._injectImport(programPath, node);\n }\n\n return t.identifier(imports.get(key));\n }\n\n _injectImport(programPath: NodePath, node: t.Node) {\n const lastImport = this._lastImports.get(programPath);\n let newNodes: [NodePath];\n if (\n lastImport &&\n lastImport.node &&\n // Sometimes the AST is modified and the \"last import\"\n // we have has been replaced\n lastImport.parent === programPath.node &&\n lastImport.container === programPath.node.body\n ) {\n newNodes = lastImport.insertAfter(node);\n } else {\n newNodes = programPath.unshiftContainer(\"body\", node);\n }\n const newNode = newNodes[newNodes.length - 1];\n this._lastImports.set(programPath, newNode);\n\n /*\n let lastImport;\n\n programPath.get(\"body\").forEach(path => {\n if (path.isImportDeclaration()) lastImport = path;\n if (\n path.isExpressionStatement() &&\n isRequireCall(path.get(\"expression\"))\n ) {\n lastImport = path;\n }\n if (\n path.isVariableDeclaration() &&\n path.get(\"declarations\").length === 1 &&\n (isRequireCall(path.get(\"declarations.0.init\")) ||\n (path.get(\"declarations.0.init\").isMemberExpression() &&\n isRequireCall(path.get(\"declarations.0.init.object\"))))\n ) {\n lastImport = path;\n }\n });*/\n }\n\n _ensure | Set>(\n map: WeakMap, C>,\n programPath: NodePath,\n Collection: { new (...args: any): C },\n ): C {\n let collection = map.get(programPath);\n if (!collection) {\n collection = new Collection();\n map.set(programPath, collection);\n }\n return collection;\n }\n\n _normalizeKey(\n programPath: NodePath,\n url: string,\n name: string = \"\",\n ): string {\n const { sourceType } = programPath.node;\n\n // If we rely on the imported binding (the \"name\" parameter), we also need to cache\n // based on the sourceType. This is because the module transforms change the names\n // of the import variables.\n return `${name && sourceType}::${url}::${name}`;\n }\n}\n","import { prettifyTargets } from \"@babel/helper-compilation-targets\";\n\nimport type { Targets } from \"./types\";\n\nexport const presetEnvSilentDebugHeader =\n \"#__secret_key__@babel/preset-env__don't_log_debug_header_and_resolved_targets\";\n\nexport function stringifyTargetsMultiline(targets: Targets): string {\n return JSON.stringify(prettifyTargets(targets), null, 2);\n}\n\nexport function stringifyTargets(targets: Targets): string {\n return JSON.stringify(targets)\n .replace(/,/g, \", \")\n .replace(/^\\{\"/, '{ \"')\n .replace(/\"\\}$/, '\" }');\n}\n","import { intersection } from \"./utils\";\nimport type {\n Pattern,\n PluginOptions,\n MissingDependenciesOption,\n} from \"./types\";\n\nfunction patternToRegExp(pattern: Pattern): RegExp | null {\n if (pattern instanceof RegExp) return pattern;\n\n try {\n return new RegExp(`^${pattern}$`);\n } catch {\n return null;\n }\n}\n\nfunction buildUnusedError(label, unused) {\n if (!unused.length) return \"\";\n return (\n ` - The following \"${label}\" patterns didn't match any polyfill:\\n` +\n unused.map(original => ` ${String(original)}\\n`).join(\"\")\n );\n}\n\nfunction buldDuplicatesError(duplicates) {\n if (!duplicates.size) return \"\";\n return (\n ` - The following polyfills were matched both by \"include\" and \"exclude\" patterns:\\n` +\n Array.from(duplicates, name => ` ${name}\\n`).join(\"\")\n );\n}\n\nexport function validateIncludeExclude(\n provider: string,\n polyfills: Set,\n includePatterns: Pattern[],\n excludePatterns: Pattern[],\n) {\n let current;\n const filter = pattern => {\n const regexp = patternToRegExp(pattern);\n if (!regexp) return false;\n\n let matched = false;\n for (const polyfill of polyfills) {\n if (regexp.test(polyfill)) {\n matched = true;\n current.add(polyfill);\n }\n }\n return !matched;\n };\n\n // prettier-ignore\n const include = current = new Set ();\n const unusedInclude = Array.from(includePatterns).filter(filter);\n\n // prettier-ignore\n const exclude = current = new Set ();\n const unusedExclude = Array.from(excludePatterns).filter(filter);\n\n const duplicates = intersection(include, exclude);\n\n if (\n duplicates.size > 0 ||\n unusedInclude.length > 0 ||\n unusedExclude.length > 0\n ) {\n throw new Error(\n `Error while validating the \"${provider}\" provider options:\\n` +\n buildUnusedError(\"include\", unusedInclude) +\n buildUnusedError(\"exclude\", unusedExclude) +\n buldDuplicatesError(duplicates),\n );\n }\n\n return { include, exclude };\n}\n\nexport function applyMissingDependenciesDefaults(\n options: PluginOptions,\n babelApi: any,\n): MissingDependenciesOption {\n const { missingDependencies = {} } = options;\n if (missingDependencies === false) return false;\n\n const caller = babelApi.caller(caller => caller?.name);\n\n const {\n log = \"deferred\",\n inject = caller === \"rollup-plugin-babel\" ? \"throw\" : \"import\",\n all = false,\n } = missingDependencies;\n\n return { log, inject, all };\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport { types as t } from \"@babel/core\";\nimport type { MetaDescriptor } from \"../types\";\n\nimport { resolveKey, resolveSource } from \"../utils\";\n\nexport default (\n callProvider: (payload: MetaDescriptor, path: NodePath) => void,\n) => {\n function property(object, key, placement, path) {\n return callProvider({ kind: \"property\", object, key, placement }, path);\n }\n\n return {\n // Symbol(), new Promise\n ReferencedIdentifier(path: NodePath) {\n const {\n node: { name },\n scope,\n } = path;\n if (scope.getBindingIdentifier(name)) return;\n\n callProvider({ kind: \"global\", name }, path);\n },\n\n MemberExpression(path: NodePath) {\n const key = resolveKey(path.get(\"property\"), path.node.computed);\n if (!key || key === \"prototype\") return;\n\n const object = path.get(\"object\");\n if (object.isIdentifier()) {\n const binding = object.scope.getBinding(object.node.name);\n if (binding && binding.path.isImportNamespaceSpecifier()) return;\n }\n\n const source = resolveSource(object);\n return property(source.id, key, source.placement, path);\n },\n\n ObjectPattern(path: NodePath) {\n const { parentPath, parent } = path;\n let obj;\n\n // const { keys, values } = Object\n if (parentPath.isVariableDeclarator()) {\n obj = parentPath.get(\"init\");\n // ({ keys, values } = Object)\n } else if (parentPath.isAssignmentExpression()) {\n obj = parentPath.get(\"right\");\n // !function ({ keys, values }) {...} (Object)\n // resolution does not work after properties transform :-(\n } else if (parentPath.isFunction()) {\n const grand = parentPath.parentPath;\n if (grand.isCallExpression() || grand.isNewExpression()) {\n if (grand.node.callee === parent) {\n obj = grand.get(\"arguments\")[path.key];\n }\n }\n }\n\n let id = null;\n let placement = null;\n if (obj) ({ id, placement } = resolveSource(obj));\n\n for (const prop of path.get(\"properties\")) {\n if (prop.isObjectProperty()) {\n const key = resolveKey(prop.get(\"key\"));\n if (key) property(id, key, placement, prop);\n }\n }\n },\n\n BinaryExpression(path: NodePath) {\n if (path.node.operator !== \"in\") return;\n\n const source = resolveSource(path.get(\"right\"));\n const key = resolveKey(path.get(\"left\"), true);\n\n if (!key) return;\n\n callProvider(\n {\n kind: \"in\",\n object: source.id,\n key,\n placement: source.placement,\n },\n path,\n );\n },\n };\n};\n","import type { NodePath } from \"@babel/traverse\";\nimport { types as t } from \"@babel/core\";\nimport type { MetaDescriptor } from \"../types\";\n\nimport { getImportSource, getRequireSource } from \"../utils\";\n\nexport default (\n callProvider: (payload: MetaDescriptor, path: NodePath) => void,\n) => ({\n ImportDeclaration(path: NodePath) {\n const source = getImportSource(path);\n if (!source) return;\n callProvider({ kind: \"import\", source }, path);\n },\n Program(path: NodePath) {\n path.get(\"body\").forEach(bodyPath => {\n const source = getRequireSource(bodyPath);\n if (!source) return;\n callProvider({ kind: \"import\", source }, bodyPath);\n });\n },\n});\n","export function resolve(\n dirname: string,\n moduleName: string,\n absoluteImports: boolean | string,\n): string {\n if (absoluteImports === false) return moduleName;\n\n throw new Error(\n `\"absoluteImports\" is not supported in bundles prepared for the browser.`,\n );\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function has(basedir: string, name: string) {\n return true;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function logMissing(missingDeps: Set) {}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function laterLogMissing(missingDeps: Set) {}\n","import type {\n MetaDescriptor,\n ResolverPolyfills,\n ResolvedPolyfill,\n} from \"./types\";\n\nimport { has } from \"./utils\";\n\ntype ResolverFn = (meta: MetaDescriptor) => void | ResolvedPolyfill;\n\nconst PossibleGlobalObjects = new Set([\n \"global\",\n \"globalThis\",\n \"self\",\n \"window\",\n]);\n\nexport default function createMetaResolver(\n polyfills: ResolverPolyfills,\n): ResolverFn {\n const { static: staticP, instance: instanceP, global: globalP } = polyfills;\n\n return meta => {\n if (meta.kind === \"global\" && globalP && has(globalP, meta.name)) {\n return { kind: \"global\", desc: globalP[meta.name], name: meta.name };\n }\n\n if (meta.kind === \"property\" || meta.kind === \"in\") {\n const { placement, object, key } = meta;\n\n if (object && placement === \"static\") {\n if (globalP && PossibleGlobalObjects.has(object) && has(globalP, key)) {\n return { kind: \"global\", desc: globalP[key], name: key };\n }\n\n if (staticP && has(staticP, object) && has(staticP[object], key)) {\n return {\n kind: \"static\",\n desc: staticP[object][key],\n name: `${object}$${key}`,\n };\n }\n }\n\n if (instanceP && has(instanceP, key)) {\n return { kind: \"instance\", desc: instanceP[key], name: `${key}` };\n }\n }\n };\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport type { NodePath } from \"@babel/traverse\";\n\nimport _getTargets, {\n isRequired,\n getInclusionReasons,\n} from \"@babel/helper-compilation-targets\";\nconst getTargets = _getTargets.default || _getTargets;\n\nimport { createUtilsGetter } from \"./utils\";\nimport ImportsCache from \"./imports-cache\";\nimport {\n stringifyTargetsMultiline,\n presetEnvSilentDebugHeader,\n} from \"./debug-utils\";\nimport {\n validateIncludeExclude,\n applyMissingDependenciesDefaults,\n} from \"./normalize-options\";\n\nimport type {\n ProviderApi,\n MethodString,\n Targets,\n MetaDescriptor,\n PolyfillProvider,\n PluginOptions,\n ProviderOptions,\n} from \"./types\";\n\nimport * as v from \"./visitors\";\nimport * as deps from \"./node/dependencies\";\n\nimport createMetaResolver from \"./meta-resolver\";\n\nexport type { PolyfillProvider, MetaDescriptor, Utils, Targets } from \"./types\";\n\nfunction resolveOptions(\n options: PluginOptions,\n babelApi,\n): {\n method: MethodString;\n methodName: \"usageGlobal\" | \"entryGlobal\" | \"usagePure\";\n targets: Targets;\n debug: boolean | typeof presetEnvSilentDebugHeader;\n shouldInjectPolyfill:\n | ((name: string, shouldInject: boolean) => boolean)\n | undefined;\n providerOptions: ProviderOptions;\n absoluteImports: string | boolean;\n} {\n const {\n method,\n targets: targetsOption,\n ignoreBrowserslistConfig,\n configPath,\n debug,\n shouldInjectPolyfill,\n absoluteImports,\n ...providerOptions\n } = options;\n\n if (isEmpty(options)) {\n throw new Error(\n `\\\nThis plugin requires options, for example:\n {\n \"plugins\": [\n [\"\", { method: \"usage-pure\" }]\n ]\n }\n\nSee more options at https://github.com/babel/babel-polyfills/blob/main/docs/usage.md`,\n );\n }\n\n let methodName;\n if (method === \"usage-global\") methodName = \"usageGlobal\";\n else if (method === \"entry-global\") methodName = \"entryGlobal\";\n else if (method === \"usage-pure\") methodName = \"usagePure\";\n else if (typeof method !== \"string\") {\n throw new Error(\".method must be a string\");\n } else {\n throw new Error(\n `.method must be one of \"entry-global\", \"usage-global\"` +\n ` or \"usage-pure\" (received ${JSON.stringify(method)})`,\n );\n }\n\n if (typeof shouldInjectPolyfill === \"function\") {\n if (options.include || options.exclude) {\n throw new Error(\n `.include and .exclude are not supported when using the` +\n ` .shouldInjectPolyfill function.`,\n );\n }\n } else if (shouldInjectPolyfill != null) {\n throw new Error(\n `.shouldInjectPolyfill must be a function, or undefined` +\n ` (received ${JSON.stringify(shouldInjectPolyfill)})`,\n );\n }\n\n if (\n absoluteImports != null &&\n typeof absoluteImports !== \"boolean\" &&\n typeof absoluteImports !== \"string\"\n ) {\n throw new Error(\n `.absoluteImports must be a boolean, a string, or undefined` +\n ` (received ${JSON.stringify(absoluteImports)})`,\n );\n }\n\n let targets;\n\n if (\n // If any browserslist-related option is specified, fallback to the old\n // behavior of not using the targets specified in the top-level options.\n targetsOption ||\n configPath ||\n ignoreBrowserslistConfig\n ) {\n const targetsObj =\n typeof targetsOption === \"string\" || Array.isArray(targetsOption)\n ? { browsers: targetsOption }\n : targetsOption;\n\n targets = getTargets(targetsObj, {\n ignoreBrowserslistConfig,\n configPath,\n });\n } else {\n targets = babelApi.targets();\n }\n\n return {\n method,\n methodName,\n targets,\n absoluteImports: absoluteImports ?? false,\n shouldInjectPolyfill,\n debug: !!debug,\n providerOptions: providerOptions as any as ProviderOptions,\n };\n}\n\nfunction instantiateProvider(\n factory: PolyfillProvider,\n options: PluginOptions,\n missingDependencies,\n dirname,\n debugLog,\n babelApi,\n) {\n const {\n method,\n methodName,\n targets,\n debug,\n shouldInjectPolyfill,\n providerOptions,\n absoluteImports,\n } = resolveOptions(options, babelApi);\n\n const getUtils = createUtilsGetter(\n new ImportsCache(moduleName =>\n deps.resolve(dirname, moduleName, absoluteImports),\n ),\n );\n\n // eslint-disable-next-line prefer-const\n let include, exclude;\n let polyfillsSupport;\n let polyfillsNames;\n let filterPolyfills;\n\n const depsCache = new Map();\n\n const api: ProviderApi = {\n babel: babelApi,\n getUtils,\n method: options.method,\n targets,\n createMetaResolver,\n shouldInjectPolyfill(name) {\n if (polyfillsNames === undefined) {\n throw new Error(\n `Internal error in the ${factory.name} provider: ` +\n `shouldInjectPolyfill() can't be called during initialization.`,\n );\n }\n if (!polyfillsNames.has(name)) {\n console.warn(\n `Internal error in the ${providerName} provider: ` +\n `unknown polyfill \"${name}\".`,\n );\n }\n\n if (filterPolyfills && !filterPolyfills(name)) return false;\n\n let shouldInject = isRequired(name, targets, {\n compatData: polyfillsSupport,\n includes: include,\n excludes: exclude,\n });\n\n if (shouldInjectPolyfill) {\n shouldInject = shouldInjectPolyfill(name, shouldInject);\n if (typeof shouldInject !== \"boolean\") {\n throw new Error(`.shouldInjectPolyfill must return a boolean.`);\n }\n }\n\n return shouldInject;\n },\n debug(name) {\n debugLog().found = true;\n\n if (!debug || !name) return;\n\n if (debugLog().polyfills.has(providerName)) return;\n debugLog().polyfills.add(name);\n debugLog().polyfillsSupport ??= polyfillsSupport;\n },\n assertDependency(name, version = \"*\") {\n if (missingDependencies === false) return;\n if (absoluteImports) {\n // If absoluteImports is not false, we will try resolving\n // the dependency and throw if it's not possible. We can\n // skip the check here.\n return;\n }\n\n const dep = version === \"*\" ? name : `${name}@^${version}`;\n\n const found = missingDependencies.all\n ? false\n : mapGetOr(depsCache, `${name} :: ${dirname}`, () =>\n deps.has(dirname, name),\n );\n\n if (!found) {\n debugLog().missingDeps.add(dep);\n }\n },\n };\n\n const provider = factory(api, providerOptions, dirname);\n const providerName = provider.name || factory.name;\n\n if (typeof provider[methodName] !== \"function\") {\n throw new Error(\n `The \"${providerName}\" provider doesn't support the \"${method}\" polyfilling method.`,\n );\n }\n\n if (Array.isArray(provider.polyfills)) {\n polyfillsNames = new Set(provider.polyfills);\n filterPolyfills = provider.filterPolyfills;\n } else if (provider.polyfills) {\n polyfillsNames = new Set(Object.keys(provider.polyfills));\n polyfillsSupport = provider.polyfills;\n filterPolyfills = provider.filterPolyfills;\n } else {\n polyfillsNames = new Set();\n }\n\n ({ include, exclude } = validateIncludeExclude(\n providerName,\n polyfillsNames,\n providerOptions.include || [],\n providerOptions.exclude || [],\n ));\n\n return {\n debug,\n method,\n targets,\n provider,\n providerName,\n callProvider(payload: MetaDescriptor, path: NodePath) {\n const utils = getUtils(path);\n provider[methodName](payload, utils, path);\n },\n };\n}\n\nexport default function definePolyfillProvider(\n factory: PolyfillProvider,\n) {\n return declare((babelApi, options: PluginOptions, dirname: string) => {\n babelApi.assertVersion(7);\n const { traverse } = babelApi;\n\n let debugLog;\n\n const missingDependencies = applyMissingDependenciesDefaults(\n options,\n babelApi,\n );\n\n const { debug, method, targets, provider, providerName, callProvider } =\n instantiateProvider(\n factory,\n options,\n missingDependencies,\n dirname,\n () => debugLog,\n babelApi,\n );\n\n const createVisitor = method === \"entry-global\" ? v.entry : v.usage;\n\n const visitor = provider.visitor\n ? traverse.visitors.merge([createVisitor(callProvider), provider.visitor])\n : createVisitor(callProvider);\n\n if (debug && debug !== presetEnvSilentDebugHeader) {\n console.log(`${providerName}: \\`DEBUG\\` option`);\n console.log(`\\nUsing targets: ${stringifyTargetsMultiline(targets)}`);\n console.log(`\\nUsing polyfills with \\`${method}\\` method:`);\n }\n\n const { runtimeName } = provider;\n\n return {\n name: \"inject-polyfills\",\n visitor,\n\n pre(file) {\n if (runtimeName) {\n if (\n file.get(\"runtimeHelpersModuleName\") &&\n file.get(\"runtimeHelpersModuleName\") !== runtimeName\n ) {\n console.warn(\n `Two different polyfill providers` +\n ` (${file.get(\"runtimeHelpersModuleProvider\")}` +\n ` and ${providerName}) are trying to define two` +\n ` conflicting @babel/runtime alternatives:` +\n ` ${file.get(\"runtimeHelpersModuleName\")} and ${runtimeName}.` +\n ` The second one will be ignored.`,\n );\n } else {\n file.set(\"runtimeHelpersModuleName\", runtimeName);\n file.set(\"runtimeHelpersModuleProvider\", providerName);\n }\n }\n\n debugLog = {\n polyfills: new Set(),\n polyfillsSupport: undefined,\n found: false,\n providers: new Set(),\n missingDeps: new Set(),\n };\n\n provider.pre?.apply(this, arguments);\n },\n post() {\n provider.post?.apply(this, arguments);\n\n if (missingDependencies !== false) {\n if (missingDependencies.log === \"per-file\") {\n deps.logMissing(debugLog.missingDeps);\n } else {\n deps.laterLogMissing(debugLog.missingDeps);\n }\n }\n\n if (!debug) return;\n\n if (this.filename) console.log(`\\n[${this.filename}]`);\n\n if (debugLog.polyfills.size === 0) {\n console.log(\n method === \"entry-global\"\n ? debugLog.found\n ? `Based on your targets, the ${providerName} polyfill did not add any polyfill.`\n : `The entry point for the ${providerName} polyfill has not been found.`\n : `Based on your code and targets, the ${providerName} polyfill did not add any polyfill.`,\n );\n\n return;\n }\n\n if (method === \"entry-global\") {\n console.log(\n `The ${providerName} polyfill entry has been replaced with ` +\n `the following polyfills:`,\n );\n } else {\n console.log(\n `The ${providerName} polyfill added the following polyfills:`,\n );\n }\n\n for (const name of debugLog.polyfills) {\n if (debugLog.polyfillsSupport?.[name]) {\n const filteredTargets = getInclusionReasons(\n name,\n targets,\n debugLog.polyfillsSupport,\n );\n\n const formattedTargets = JSON.stringify(filteredTargets)\n .replace(/,/g, \", \")\n .replace(/^\\{\"/, '{ \"')\n .replace(/\"\\}$/, '\" }');\n\n console.log(` ${name} ${formattedTargets}`);\n } else {\n console.log(` ${name}`);\n }\n }\n },\n };\n });\n}\n\nfunction mapGetOr(map, key, getDefault) {\n let val = map.get(key);\n if (val === undefined) {\n val = getDefault();\n map.set(key, val);\n }\n return val;\n}\n\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n"],"names":["types","t","template","intersection","a","b","result","Set","forEach","v","has","add","object","key","Object","prototype","hasOwnProperty","call","getType","target","toString","slice","resolveId","path","isIdentifier","scope","hasBinding","node","name","deopt","evaluate","resolveKey","computed","isStringLiteral","value","parent","isMemberExpression","get","sym","resolveSource","obj","id","placement","undefined","isRegExpLiteral","isFunction","getImportSource","specifiers","length","source","getRequireSource","isExpressionStatement","expression","isCallExpression","callee","arguments","hoist","_blockHoist","createUtilsGetter","cache","prog","findParent","p","isProgram","injectGlobalImport","url","storeAnonymous","isScript","statement","ast","importDeclaration","injectNamedImport","hint","storeNamed","generateUidIdentifier","importSpecifier","injectDefaultImport","importDefaultSpecifier","ImportsCache","constructor","resolver","_imports","WeakMap","_anonymousImports","_lastImports","_resolver","programPath","getVal","_normalizeKey","imports","_ensure","sourceType","stringLiteral","_injectImport","Map","identifier","set","lastImport","newNodes","container","body","insertAfter","unshiftContainer","newNode","map","Collection","collection","presetEnvSilentDebugHeader","stringifyTargetsMultiline","targets","JSON","stringify","prettifyTargets","patternToRegExp","pattern","RegExp","buildUnusedError","label","unused","original","String","join","buldDuplicatesError","duplicates","size","Array","from","validateIncludeExclude","provider","polyfills","includePatterns","excludePatterns","current","filter","regexp","matched","polyfill","test","include","unusedInclude","exclude","unusedExclude","Error","applyMissingDependenciesDefaults","options","babelApi","missingDependencies","caller","log","inject","all","callProvider","property","kind","ReferencedIdentifier","getBindingIdentifier","MemberExpression","binding","getBinding","isImportNamespaceSpecifier","ObjectPattern","parentPath","isVariableDeclarator","isAssignmentExpression","grand","isNewExpression","prop","isObjectProperty","BinaryExpression","operator","ImportDeclaration","Program","bodyPath","resolve","dirname","moduleName","absoluteImports","basedir","logMissing","missingDeps","laterLogMissing","PossibleGlobalObjects","createMetaResolver","static","staticP","instance","instanceP","global","globalP","meta","desc","getTargets","_getTargets","default","resolveOptions","method","targetsOption","ignoreBrowserslistConfig","configPath","debug","shouldInjectPolyfill","providerOptions","isEmpty","methodName","targetsObj","isArray","browsers","instantiateProvider","factory","debugLog","getUtils","deps","polyfillsSupport","polyfillsNames","filterPolyfills","depsCache","api","babel","console","warn","providerName","shouldInject","isRequired","compatData","includes","excludes","found","assertDependency","version","dep","mapGetOr","keys","payload","utils","definePolyfillProvider","declare","assertVersion","traverse","createVisitor","visitor","visitors","merge","runtimeName","pre","file","providers","apply","post","filename","filteredTargets","getInclusionReasons","formattedTargets","replace","getDefault","val"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/helper-define-polyfill-provider/esm/index.node.mjs b/node_modules/@babel/helper-define-polyfill-provider/esm/index.node.mjs index 9c9a40328..9b6d3a09c 100644 --- a/node_modules/@babel/helper-define-polyfill-provider/esm/index.node.mjs +++ b/node_modules/@babel/helper-define-polyfill-provider/esm/index.node.mjs @@ -697,7 +697,7 @@ function instantiateProvider(factory, options, missingDependencies, dirname, deb } if (!polyfillsNames.has(name)) { - console.warn(`Internal error in the ${provider.name} provider: ` + `unknown polyfill "${name}".`); + console.warn(`Internal error in the ${providerName} provider: ` + `unknown polyfill "${name}".`); } if (filterPolyfills && !filterPolyfills(name)) return false; @@ -723,7 +723,7 @@ function instantiateProvider(factory, options, missingDependencies, dirname, deb debugLog().found = true; if (!debug || !name) return; - if (debugLog().polyfills.has(provider.name)) return; + if (debugLog().polyfills.has(providerName)) return; debugLog().polyfills.add(name); (_debugLog$polyfillsSu = (_debugLog = debugLog()).polyfillsSupport) != null ? _debugLog$polyfillsSu : _debugLog.polyfillsSupport = polyfillsSupport; }, @@ -748,9 +748,10 @@ function instantiateProvider(factory, options, missingDependencies, dirname, deb }; const provider = factory(api, providerOptions, dirname); + const providerName = provider.name || factory.name; if (typeof provider[methodName] !== "function") { - throw new Error(`The "${provider.name || factory.name}" provider doesn't ` + `support the "${method}" polyfilling method.`); + throw new Error(`The "${providerName}" provider doesn't support the "${method}" polyfilling method.`); } if (Array.isArray(provider.polyfills)) { @@ -767,12 +768,13 @@ function instantiateProvider(factory, options, missingDependencies, dirname, deb ({ include, exclude - } = validateIncludeExclude(provider.name || factory.name, polyfillsNames, providerOptions.include || [], providerOptions.exclude || [])); + } = validateIncludeExclude(providerName, polyfillsNames, providerOptions.include || [], providerOptions.exclude || [])); return { debug, method, targets, provider, + providerName, callProvider(payload, path) { const utils = getUtils(path); @@ -795,24 +797,37 @@ function definePolyfillProvider(factory) { method, targets, provider, + providerName, callProvider } = instantiateProvider(factory, options, missingDependencies, dirname, () => debugLog, babelApi); const createVisitor = method === "entry-global" ? entry : usage; const visitor = provider.visitor ? traverse.visitors.merge([createVisitor(callProvider), provider.visitor]) : createVisitor(callProvider); if (debug && debug !== presetEnvSilentDebugHeader) { - console.log(`${provider.name}: \`DEBUG\` option`); + console.log(`${providerName}: \`DEBUG\` option`); console.log(`\nUsing targets: ${stringifyTargetsMultiline(targets)}`); console.log(`\nUsing polyfills with \`${method}\` method:`); } + const { + runtimeName + } = provider; return { name: "inject-polyfills", visitor, - pre() { + pre(file) { var _provider$pre; + if (runtimeName) { + if (file.get("runtimeHelpersModuleName") && file.get("runtimeHelpersModuleName") !== runtimeName) { + console.warn(`Two different polyfill providers` + ` (${file.get("runtimeHelpersModuleProvider")}` + ` and ${providerName}) are trying to define two` + ` conflicting @babel/runtime alternatives:` + ` ${file.get("runtimeHelpersModuleName")} and ${runtimeName}.` + ` The second one will be ignored.`); + } else { + file.set("runtimeHelpersModuleName", runtimeName); + file.set("runtimeHelpersModuleProvider", providerName); + } + } + debugLog = { polyfills: new Set(), polyfillsSupport: undefined, @@ -840,14 +855,14 @@ function definePolyfillProvider(factory) { if (this.filename) console.log(`\n[${this.filename}]`); if (debugLog.polyfills.size === 0) { - console.log(method === "entry-global" ? debugLog.found ? `Based on your targets, the ${provider.name} polyfill did not add any polyfill.` : `The entry point for the ${provider.name} polyfill has not been found.` : `Based on your code and targets, the ${provider.name} polyfill did not add any polyfill.`); + console.log(method === "entry-global" ? debugLog.found ? `Based on your targets, the ${providerName} polyfill did not add any polyfill.` : `The entry point for the ${providerName} polyfill has not been found.` : `Based on your code and targets, the ${providerName} polyfill did not add any polyfill.`); return; } if (method === "entry-global") { - console.log(`The ${provider.name} polyfill entry has been replaced with ` + `the following polyfills:`); + console.log(`The ${providerName} polyfill entry has been replaced with ` + `the following polyfills:`); } else { - console.log(`The ${provider.name} polyfill added the following polyfills:`); + console.log(`The ${providerName} polyfill added the following polyfills:`); } for (const name of debugLog.polyfills) { diff --git a/node_modules/@babel/helper-define-polyfill-provider/esm/index.node.mjs.map b/node_modules/@babel/helper-define-polyfill-provider/esm/index.node.mjs.map index 7ffcfd702..e950f3535 100644 --- a/node_modules/@babel/helper-define-polyfill-provider/esm/index.node.mjs.map +++ b/node_modules/@babel/helper-define-polyfill-provider/esm/index.node.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index.node.mjs","sources":["../src/utils.ts","../src/imports-cache.ts","../src/debug-utils.ts","../src/normalize-options.ts","../src/visitors/usage.ts","../src/visitors/entry.ts","../src/node/dependencies.ts","../src/meta-resolver.ts","../src/index.ts"],"sourcesContent":["import { types as t, template } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport type { Utils } from \"./types\";\nimport type ImportsCache from \"./imports-cache\";\n\nexport function intersection(a: Set, b: Set): Set {\n const result = new Set();\n a.forEach(v => b.has(v) && result.add(v));\n return result;\n}\n\nexport function has(object: any, key: string) {\n return Object.prototype.hasOwnProperty.call(object, key);\n}\n\nfunction getType(target: any): string {\n return Object.prototype.toString.call(target).slice(8, -1);\n}\n\nfunction resolveId(path): string {\n if (\n path.isIdentifier() &&\n !path.scope.hasBinding(path.node.name, /* noGlobals */ true)\n ) {\n return path.node.name;\n }\n\n const { deopt } = path.evaluate();\n if (deopt && deopt.isIdentifier()) {\n return deopt.node.name;\n }\n}\n\nexport function resolveKey(\n path: NodePath,\n computed: boolean = false,\n) {\n const { scope } = path;\n if (path.isStringLiteral()) return path.node.value;\n const isIdentifier = path.isIdentifier();\n if (\n isIdentifier &&\n !(computed || (path.parent as t.MemberExpression).computed)\n ) {\n return path.node.name;\n }\n\n if (\n computed &&\n path.isMemberExpression() &&\n path.get(\"object\").isIdentifier({ name: \"Symbol\" }) &&\n !scope.hasBinding(\"Symbol\", /* noGlobals */ true)\n ) {\n const sym = resolveKey(path.get(\"property\"), path.node.computed);\n if (sym) return \"Symbol.\" + sym;\n }\n\n if (!isIdentifier || scope.hasBinding(path.node.name, /* noGlobals */ true)) {\n const { value } = path.evaluate();\n if (typeof value === \"string\") return value;\n }\n}\n\nexport function resolveSource(obj: NodePath): {\n id: string | null;\n placement: \"prototype\" | \"static\" | null;\n} {\n if (\n obj.isMemberExpression() &&\n obj.get(\"property\").isIdentifier({ name: \"prototype\" })\n ) {\n const id = resolveId(obj.get(\"object\"));\n\n if (id) {\n return { id, placement: \"prototype\" };\n }\n return { id: null, placement: null };\n }\n\n const id = resolveId(obj);\n if (id) {\n return { id, placement: \"static\" };\n }\n\n const { value } = obj.evaluate();\n if (value !== undefined) {\n return { id: getType(value), placement: \"prototype\" };\n } else if (obj.isRegExpLiteral()) {\n return { id: \"RegExp\", placement: \"prototype\" };\n } else if (obj.isFunction()) {\n return { id: \"Function\", placement: \"prototype\" };\n }\n\n return { id: null, placement: null };\n}\n\nexport function getImportSource({ node }: NodePath) {\n if (node.specifiers.length === 0) return node.source.value;\n}\n\nexport function getRequireSource({ node }: NodePath) {\n if (!t.isExpressionStatement(node)) return;\n const { expression } = node;\n if (\n t.isCallExpression(expression) &&\n t.isIdentifier(expression.callee) &&\n expression.callee.name === \"require\" &&\n expression.arguments.length === 1 &&\n t.isStringLiteral(expression.arguments[0])\n ) {\n return expression.arguments[0].value;\n }\n}\n\nfunction hoist(node: t.Node) {\n // @ts-expect-error\n node._blockHoist = 3;\n return node;\n}\n\nexport function createUtilsGetter(cache: ImportsCache) {\n return (path: NodePath): Utils => {\n const prog = path.findParent(p => p.isProgram()) as NodePath;\n\n return {\n injectGlobalImport(url) {\n cache.storeAnonymous(prog, url, (isScript, source) => {\n return isScript\n ? template.statement.ast`require(${source})`\n : t.importDeclaration([], source);\n });\n },\n injectNamedImport(url, name, hint = name) {\n return cache.storeNamed(prog, url, name, (isScript, source, name) => {\n const id = prog.scope.generateUidIdentifier(hint);\n return {\n node: isScript\n ? hoist(template.statement.ast`\n var ${id} = require(${source}).${name}\n `)\n : t.importDeclaration([t.importSpecifier(id, name)], source),\n name: id.name,\n };\n });\n },\n injectDefaultImport(url, hint = url) {\n return cache.storeNamed(prog, url, \"default\", (isScript, source) => {\n const id = prog.scope.generateUidIdentifier(hint);\n return {\n node: isScript\n ? hoist(template.statement.ast`var ${id} = require(${source})`)\n : t.importDeclaration([t.importDefaultSpecifier(id)], source),\n name: id.name,\n };\n });\n },\n };\n };\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport { types as t } from \"@babel/core\";\n\ntype StrMap = Map;\n\nexport default class ImportsCache {\n _imports: WeakMap, StrMap>;\n _anonymousImports: WeakMap, Set>;\n _lastImports: WeakMap, NodePath>;\n _resolver: (url: string) => string;\n\n constructor(resolver: (url: string) => string) {\n this._imports = new WeakMap();\n this._anonymousImports = new WeakMap();\n this._lastImports = new WeakMap();\n this._resolver = resolver;\n }\n\n storeAnonymous(\n programPath: NodePath,\n url: string,\n // eslint-disable-next-line no-undef\n getVal: (isScript: boolean, source: t.StringLiteral) => t.Node,\n ) {\n const key = this._normalizeKey(programPath, url);\n const imports = this._ensure>(\n this._anonymousImports,\n programPath,\n Set,\n );\n\n if (imports.has(key)) return;\n\n const node = getVal(\n programPath.node.sourceType === \"script\",\n t.stringLiteral(this._resolver(url)),\n );\n imports.add(key);\n this._injectImport(programPath, node);\n }\n\n storeNamed(\n programPath: NodePath,\n url: string,\n name: string,\n getVal: (\n isScript: boolean,\n // eslint-disable-next-line no-undef\n source: t.StringLiteral,\n // eslint-disable-next-line no-undef\n name: t.Identifier,\n ) => { node: t.Node; name: string },\n ) {\n const key = this._normalizeKey(programPath, url, name);\n const imports = this._ensure>(\n this._imports,\n programPath,\n Map,\n );\n\n if (!imports.has(key)) {\n const { node, name: id } = getVal(\n programPath.node.sourceType === \"script\",\n t.stringLiteral(this._resolver(url)),\n t.identifier(name),\n );\n imports.set(key, id);\n this._injectImport(programPath, node);\n }\n\n return t.identifier(imports.get(key));\n }\n\n _injectImport(programPath: NodePath, node: t.Node) {\n const lastImport = this._lastImports.get(programPath);\n let newNodes: [NodePath];\n if (\n lastImport &&\n lastImport.node &&\n // Sometimes the AST is modified and the \"last import\"\n // we have has been replaced\n lastImport.parent === programPath.node &&\n lastImport.container === programPath.node.body\n ) {\n newNodes = lastImport.insertAfter(node);\n } else {\n newNodes = programPath.unshiftContainer(\"body\", node);\n }\n const newNode = newNodes[newNodes.length - 1];\n this._lastImports.set(programPath, newNode);\n\n /*\n let lastImport;\n\n programPath.get(\"body\").forEach(path => {\n if (path.isImportDeclaration()) lastImport = path;\n if (\n path.isExpressionStatement() &&\n isRequireCall(path.get(\"expression\"))\n ) {\n lastImport = path;\n }\n if (\n path.isVariableDeclaration() &&\n path.get(\"declarations\").length === 1 &&\n (isRequireCall(path.get(\"declarations.0.init\")) ||\n (path.get(\"declarations.0.init\").isMemberExpression() &&\n isRequireCall(path.get(\"declarations.0.init.object\"))))\n ) {\n lastImport = path;\n }\n });*/\n }\n\n _ensure | Set>(\n map: WeakMap, C>,\n programPath: NodePath,\n Collection: { new (...args: any): C },\n ): C {\n let collection = map.get(programPath);\n if (!collection) {\n collection = new Collection();\n map.set(programPath, collection);\n }\n return collection;\n }\n\n _normalizeKey(\n programPath: NodePath,\n url: string,\n name: string = \"\",\n ): string {\n const { sourceType } = programPath.node;\n\n // If we rely on the imported binding (the \"name\" parameter), we also need to cache\n // based on the sourceType. This is because the module transforms change the names\n // of the import variables.\n return `${name && sourceType}::${url}::${name}`;\n }\n}\n","import { prettifyTargets } from \"@babel/helper-compilation-targets\";\n\nimport type { Targets } from \"./types\";\n\nexport const presetEnvSilentDebugHeader =\n \"#__secret_key__@babel/preset-env__don't_log_debug_header_and_resolved_targets\";\n\nexport function stringifyTargetsMultiline(targets: Targets): string {\n return JSON.stringify(prettifyTargets(targets), null, 2);\n}\n\nexport function stringifyTargets(targets: Targets): string {\n return JSON.stringify(targets)\n .replace(/,/g, \", \")\n .replace(/^\\{\"/, '{ \"')\n .replace(/\"\\}$/, '\" }');\n}\n","import { intersection } from \"./utils\";\nimport type {\n Pattern,\n PluginOptions,\n MissingDependenciesOption,\n} from \"./types\";\n\nfunction patternToRegExp(pattern: Pattern): RegExp | null {\n if (pattern instanceof RegExp) return pattern;\n\n try {\n return new RegExp(`^${pattern}$`);\n } catch {\n return null;\n }\n}\n\nfunction buildUnusedError(label, unused) {\n if (!unused.length) return \"\";\n return (\n ` - The following \"${label}\" patterns didn't match any polyfill:\\n` +\n unused.map(original => ` ${String(original)}\\n`).join(\"\")\n );\n}\n\nfunction buldDuplicatesError(duplicates) {\n if (!duplicates.size) return \"\";\n return (\n ` - The following polyfills were matched both by \"include\" and \"exclude\" patterns:\\n` +\n Array.from(duplicates, name => ` ${name}\\n`).join(\"\")\n );\n}\n\nexport function validateIncludeExclude(\n provider: string,\n polyfills: Set,\n includePatterns: Pattern[],\n excludePatterns: Pattern[],\n) {\n let current;\n const filter = pattern => {\n const regexp = patternToRegExp(pattern);\n if (!regexp) return false;\n\n let matched = false;\n for (const polyfill of polyfills) {\n if (regexp.test(polyfill)) {\n matched = true;\n current.add(polyfill);\n }\n }\n return !matched;\n };\n\n // prettier-ignore\n const include = current = new Set ();\n const unusedInclude = Array.from(includePatterns).filter(filter);\n\n // prettier-ignore\n const exclude = current = new Set ();\n const unusedExclude = Array.from(excludePatterns).filter(filter);\n\n const duplicates = intersection(include, exclude);\n\n if (\n duplicates.size > 0 ||\n unusedInclude.length > 0 ||\n unusedExclude.length > 0\n ) {\n throw new Error(\n `Error while validating the \"${provider}\" provider options:\\n` +\n buildUnusedError(\"include\", unusedInclude) +\n buildUnusedError(\"exclude\", unusedExclude) +\n buldDuplicatesError(duplicates),\n );\n }\n\n return { include, exclude };\n}\n\nexport function applyMissingDependenciesDefaults(\n options: PluginOptions,\n babelApi: any,\n): MissingDependenciesOption {\n const { missingDependencies = {} } = options;\n if (missingDependencies === false) return false;\n\n const caller = babelApi.caller(caller => caller?.name);\n\n const {\n log = \"deferred\",\n inject = caller === \"rollup-plugin-babel\" ? \"throw\" : \"import\",\n all = false,\n } = missingDependencies;\n\n return { log, inject, all };\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport { types as t } from \"@babel/core\";\nimport type { MetaDescriptor } from \"../types\";\n\nimport { resolveKey, resolveSource } from \"../utils\";\n\nexport default (\n callProvider: (payload: MetaDescriptor, path: NodePath) => void,\n) => {\n function property(object, key, placement, path) {\n return callProvider({ kind: \"property\", object, key, placement }, path);\n }\n\n return {\n // Symbol(), new Promise\n ReferencedIdentifier(path: NodePath) {\n const {\n node: { name },\n scope,\n } = path;\n if (scope.getBindingIdentifier(name)) return;\n\n callProvider({ kind: \"global\", name }, path);\n },\n\n MemberExpression(path: NodePath) {\n const key = resolveKey(path.get(\"property\"), path.node.computed);\n if (!key || key === \"prototype\") return;\n\n const object = path.get(\"object\");\n if (object.isIdentifier()) {\n const binding = object.scope.getBinding(object.node.name);\n if (binding && binding.path.isImportNamespaceSpecifier()) return;\n }\n\n const source = resolveSource(object);\n return property(source.id, key, source.placement, path);\n },\n\n ObjectPattern(path: NodePath) {\n const { parentPath, parent } = path;\n let obj;\n\n // const { keys, values } = Object\n if (parentPath.isVariableDeclarator()) {\n obj = parentPath.get(\"init\");\n // ({ keys, values } = Object)\n } else if (parentPath.isAssignmentExpression()) {\n obj = parentPath.get(\"right\");\n // !function ({ keys, values }) {...} (Object)\n // resolution does not work after properties transform :-(\n } else if (parentPath.isFunction()) {\n const grand = parentPath.parentPath;\n if (grand.isCallExpression() || grand.isNewExpression()) {\n if (grand.node.callee === parent) {\n obj = grand.get(\"arguments\")[path.key];\n }\n }\n }\n\n let id = null;\n let placement = null;\n if (obj) ({ id, placement } = resolveSource(obj));\n\n for (const prop of path.get(\"properties\")) {\n if (prop.isObjectProperty()) {\n const key = resolveKey(prop.get(\"key\"));\n if (key) property(id, key, placement, prop);\n }\n }\n },\n\n BinaryExpression(path: NodePath) {\n if (path.node.operator !== \"in\") return;\n\n const source = resolveSource(path.get(\"right\"));\n const key = resolveKey(path.get(\"left\"), true);\n\n if (!key) return;\n\n callProvider(\n {\n kind: \"in\",\n object: source.id,\n key,\n placement: source.placement,\n },\n path,\n );\n },\n };\n};\n","import type { NodePath } from \"@babel/traverse\";\nimport { types as t } from \"@babel/core\";\nimport type { MetaDescriptor } from \"../types\";\n\nimport { getImportSource, getRequireSource } from \"../utils\";\n\nexport default (\n callProvider: (payload: MetaDescriptor, path: NodePath) => void,\n) => ({\n ImportDeclaration(path: NodePath) {\n const source = getImportSource(path);\n if (!source) return;\n callProvider({ kind: \"import\", source }, path);\n },\n Program(path: NodePath) {\n path.get(\"body\").forEach(bodyPath => {\n const source = getRequireSource(bodyPath);\n if (!source) return;\n callProvider({ kind: \"import\", source }, bodyPath);\n });\n },\n});\n","import path from \"path\";\nimport debounce from \"lodash.debounce\";\nimport requireResolve from \"resolve\";\n\nconst nativeRequireResolve = parseFloat(process.versions.node) >= 8.9;\n\nimport { createRequire } from \"module\";\nconst require = createRequire(import /*::(_)*/.meta.url); // eslint-disable-line\n\nfunction myResolve(name: string, basedir: string) {\n if (nativeRequireResolve) {\n return require\n .resolve(name, {\n paths: [basedir],\n })\n .replace(/\\\\/g, \"/\");\n } else {\n return requireResolve.sync(name, { basedir }).replace(/\\\\/g, \"/\");\n }\n}\n\nexport function resolve(\n dirname: string,\n moduleName: string,\n absoluteImports: boolean | string,\n): string {\n if (absoluteImports === false) return moduleName;\n\n let basedir = dirname;\n if (typeof absoluteImports === \"string\") {\n basedir = path.resolve(basedir, absoluteImports);\n }\n\n try {\n return myResolve(moduleName, basedir);\n } catch (err) {\n if (err.code !== \"MODULE_NOT_FOUND\") throw err;\n\n throw Object.assign(\n new Error(`Failed to resolve \"${moduleName}\" relative to \"${dirname}\"`),\n {\n code: \"BABEL_POLYFILL_NOT_FOUND\",\n polyfill: moduleName,\n dirname,\n },\n );\n }\n}\n\nexport function has(basedir: string, name: string) {\n try {\n myResolve(name, basedir);\n return true;\n } catch {\n return false;\n }\n}\n\nexport function logMissing(missingDeps: Set) {\n if (missingDeps.size === 0) return;\n\n const deps = Array.from(missingDeps).sort().join(\" \");\n\n console.warn(\n \"\\nSome polyfills have been added but are not present in your dependencies.\\n\" +\n \"Please run one of the following commands:\\n\" +\n `\\tnpm install --save ${deps}\\n` +\n `\\tyarn add ${deps}\\n`,\n );\n\n process.exitCode = 1;\n}\n\nlet allMissingDeps = new Set();\n\nconst laterLogMissingDependencies = debounce(() => {\n logMissing(allMissingDeps);\n allMissingDeps = new Set();\n}, 100);\n\nexport function laterLogMissing(missingDeps: Set) {\n if (missingDeps.size === 0) return;\n\n missingDeps.forEach(name => allMissingDeps.add(name));\n laterLogMissingDependencies();\n}\n","import type {\n MetaDescriptor,\n ResolverPolyfills,\n ResolvedPolyfill,\n} from \"./types\";\n\nimport { has } from \"./utils\";\n\ntype ResolverFn = (meta: MetaDescriptor) => void | ResolvedPolyfill;\n\nconst PossibleGlobalObjects = new Set([\n \"global\",\n \"globalThis\",\n \"self\",\n \"window\",\n]);\n\nexport default function createMetaResolver(\n polyfills: ResolverPolyfills,\n): ResolverFn {\n const { static: staticP, instance: instanceP, global: globalP } = polyfills;\n\n return meta => {\n if (meta.kind === \"global\" && globalP && has(globalP, meta.name)) {\n return { kind: \"global\", desc: globalP[meta.name], name: meta.name };\n }\n\n if (meta.kind === \"property\" || meta.kind === \"in\") {\n const { placement, object, key } = meta;\n\n if (object && placement === \"static\") {\n if (globalP && PossibleGlobalObjects.has(object) && has(globalP, key)) {\n return { kind: \"global\", desc: globalP[key], name: key };\n }\n\n if (staticP && has(staticP, object) && has(staticP[object], key)) {\n return {\n kind: \"static\",\n desc: staticP[object][key],\n name: `${object}$${key}`,\n };\n }\n }\n\n if (instanceP && has(instanceP, key)) {\n return { kind: \"instance\", desc: instanceP[key], name: `${key}` };\n }\n }\n };\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport type { NodePath } from \"@babel/traverse\";\n\nimport _getTargets, {\n isRequired,\n getInclusionReasons,\n} from \"@babel/helper-compilation-targets\";\nconst getTargets = _getTargets.default || _getTargets;\n\nimport { createUtilsGetter } from \"./utils\";\nimport ImportsCache from \"./imports-cache\";\nimport {\n stringifyTargetsMultiline,\n presetEnvSilentDebugHeader,\n} from \"./debug-utils\";\nimport {\n validateIncludeExclude,\n applyMissingDependenciesDefaults,\n} from \"./normalize-options\";\n\nimport type {\n ProviderApi,\n MethodString,\n Targets,\n MetaDescriptor,\n PolyfillProvider,\n PluginOptions,\n ProviderOptions,\n} from \"./types\";\n\nimport * as v from \"./visitors\";\nimport * as deps from \"./node/dependencies\";\n\nimport createMetaResolver from \"./meta-resolver\";\n\nexport type { PolyfillProvider, MetaDescriptor, Utils, Targets } from \"./types\";\n\nfunction resolveOptions(\n options: PluginOptions,\n babelApi,\n): {\n method: MethodString;\n methodName: \"usageGlobal\" | \"entryGlobal\" | \"usagePure\";\n targets: Targets;\n debug: boolean | typeof presetEnvSilentDebugHeader;\n shouldInjectPolyfill:\n | ((name: string, shouldInject: boolean) => boolean)\n | undefined;\n providerOptions: ProviderOptions;\n absoluteImports: string | boolean;\n} {\n const {\n method,\n targets: targetsOption,\n ignoreBrowserslistConfig,\n configPath,\n debug,\n shouldInjectPolyfill,\n absoluteImports,\n ...providerOptions\n } = options;\n\n if (isEmpty(options)) {\n throw new Error(\n `\\\nThis plugin requires options, for example:\n {\n \"plugins\": [\n [\"\", { method: \"usage-pure\" }]\n ]\n }\n\nSee more options at https://github.com/babel/babel-polyfills/blob/main/docs/usage.md`,\n );\n }\n\n let methodName;\n if (method === \"usage-global\") methodName = \"usageGlobal\";\n else if (method === \"entry-global\") methodName = \"entryGlobal\";\n else if (method === \"usage-pure\") methodName = \"usagePure\";\n else if (typeof method !== \"string\") {\n throw new Error(\".method must be a string\");\n } else {\n throw new Error(\n `.method must be one of \"entry-global\", \"usage-global\"` +\n ` or \"usage-pure\" (received ${JSON.stringify(method)})`,\n );\n }\n\n if (typeof shouldInjectPolyfill === \"function\") {\n if (options.include || options.exclude) {\n throw new Error(\n `.include and .exclude are not supported when using the` +\n ` .shouldInjectPolyfill function.`,\n );\n }\n } else if (shouldInjectPolyfill != null) {\n throw new Error(\n `.shouldInjectPolyfill must be a function, or undefined` +\n ` (received ${JSON.stringify(shouldInjectPolyfill)})`,\n );\n }\n\n if (\n absoluteImports != null &&\n typeof absoluteImports !== \"boolean\" &&\n typeof absoluteImports !== \"string\"\n ) {\n throw new Error(\n `.absoluteImports must be a boolean, a string, or undefined` +\n ` (received ${JSON.stringify(absoluteImports)})`,\n );\n }\n\n let targets;\n\n if (\n // If any browserslist-related option is specified, fallback to the old\n // behavior of not using the targets specified in the top-level options.\n targetsOption ||\n configPath ||\n ignoreBrowserslistConfig\n ) {\n const targetsObj =\n typeof targetsOption === \"string\" || Array.isArray(targetsOption)\n ? { browsers: targetsOption }\n : targetsOption;\n\n targets = getTargets(targetsObj, {\n ignoreBrowserslistConfig,\n configPath,\n });\n } else {\n targets = babelApi.targets();\n }\n\n return {\n method,\n methodName,\n targets,\n absoluteImports: absoluteImports ?? false,\n shouldInjectPolyfill,\n debug: !!debug,\n providerOptions: providerOptions as any as ProviderOptions,\n };\n}\n\nfunction instantiateProvider(\n factory: PolyfillProvider,\n options: PluginOptions,\n missingDependencies,\n dirname,\n debugLog,\n babelApi,\n) {\n const {\n method,\n methodName,\n targets,\n debug,\n shouldInjectPolyfill,\n providerOptions,\n absoluteImports,\n } = resolveOptions(options, babelApi);\n\n const getUtils = createUtilsGetter(\n new ImportsCache(moduleName =>\n deps.resolve(dirname, moduleName, absoluteImports),\n ),\n );\n\n // eslint-disable-next-line prefer-const\n let include, exclude;\n let polyfillsSupport;\n let polyfillsNames;\n let filterPolyfills;\n\n const depsCache = new Map();\n\n const api: ProviderApi = {\n babel: babelApi,\n getUtils,\n method: options.method,\n targets,\n createMetaResolver,\n shouldInjectPolyfill(name) {\n if (polyfillsNames === undefined) {\n throw new Error(\n `Internal error in the ${factory.name} provider: ` +\n `shouldInjectPolyfill() can't be called during initialization.`,\n );\n }\n if (!polyfillsNames.has(name)) {\n console.warn(\n `Internal error in the ${provider.name} provider: ` +\n `unknown polyfill \"${name}\".`,\n );\n }\n\n if (filterPolyfills && !filterPolyfills(name)) return false;\n\n let shouldInject = isRequired(name, targets, {\n compatData: polyfillsSupport,\n includes: include,\n excludes: exclude,\n });\n\n if (shouldInjectPolyfill) {\n shouldInject = shouldInjectPolyfill(name, shouldInject);\n if (typeof shouldInject !== \"boolean\") {\n throw new Error(`.shouldInjectPolyfill must return a boolean.`);\n }\n }\n\n return shouldInject;\n },\n debug(name) {\n debugLog().found = true;\n\n if (!debug || !name) return;\n\n if (debugLog().polyfills.has(provider.name)) return;\n debugLog().polyfills.add(name);\n debugLog().polyfillsSupport ??= polyfillsSupport;\n },\n assertDependency(name, version = \"*\") {\n if (missingDependencies === false) return;\n if (absoluteImports) {\n // If absoluteImports is not false, we will try resolving\n // the dependency and throw if it's not possible. We can\n // skip the check here.\n return;\n }\n\n const dep = version === \"*\" ? name : `${name}@^${version}`;\n\n const found = missingDependencies.all\n ? false\n : mapGetOr(depsCache, `${name} :: ${dirname}`, () =>\n deps.has(dirname, name),\n );\n\n if (!found) {\n debugLog().missingDeps.add(dep);\n }\n },\n };\n\n const provider = factory(api, providerOptions, dirname);\n\n if (typeof provider[methodName] !== \"function\") {\n throw new Error(\n `The \"${provider.name || factory.name}\" provider doesn't ` +\n `support the \"${method}\" polyfilling method.`,\n );\n }\n\n if (Array.isArray(provider.polyfills)) {\n polyfillsNames = new Set(provider.polyfills);\n filterPolyfills = provider.filterPolyfills;\n } else if (provider.polyfills) {\n polyfillsNames = new Set(Object.keys(provider.polyfills));\n polyfillsSupport = provider.polyfills;\n filterPolyfills = provider.filterPolyfills;\n } else {\n polyfillsNames = new Set();\n }\n\n ({ include, exclude } = validateIncludeExclude(\n provider.name || factory.name,\n polyfillsNames,\n providerOptions.include || [],\n providerOptions.exclude || [],\n ));\n\n return {\n debug,\n method,\n targets,\n provider,\n callProvider(payload: MetaDescriptor, path: NodePath) {\n const utils = getUtils(path);\n provider[methodName](payload, utils, path);\n },\n };\n}\n\nexport default function definePolyfillProvider(\n factory: PolyfillProvider,\n) {\n return declare((babelApi, options: PluginOptions, dirname: string) => {\n babelApi.assertVersion(7);\n const { traverse } = babelApi;\n\n let debugLog;\n\n const missingDependencies = applyMissingDependenciesDefaults(\n options,\n babelApi,\n );\n\n const { debug, method, targets, provider, callProvider } =\n instantiateProvider(\n factory,\n options,\n missingDependencies,\n dirname,\n () => debugLog,\n babelApi,\n );\n\n const createVisitor = method === \"entry-global\" ? v.entry : v.usage;\n\n const visitor = provider.visitor\n ? traverse.visitors.merge([createVisitor(callProvider), provider.visitor])\n : createVisitor(callProvider);\n\n if (debug && debug !== presetEnvSilentDebugHeader) {\n console.log(`${provider.name}: \\`DEBUG\\` option`);\n console.log(`\\nUsing targets: ${stringifyTargetsMultiline(targets)}`);\n console.log(`\\nUsing polyfills with \\`${method}\\` method:`);\n }\n\n return {\n name: \"inject-polyfills\",\n visitor,\n\n pre() {\n debugLog = {\n polyfills: new Set(),\n polyfillsSupport: undefined,\n found: false,\n providers: new Set(),\n missingDeps: new Set(),\n };\n\n provider.pre?.apply(this, arguments);\n },\n post() {\n provider.post?.apply(this, arguments);\n\n if (missingDependencies !== false) {\n if (missingDependencies.log === \"per-file\") {\n deps.logMissing(debugLog.missingDeps);\n } else {\n deps.laterLogMissing(debugLog.missingDeps);\n }\n }\n\n if (!debug) return;\n\n if (this.filename) console.log(`\\n[${this.filename}]`);\n\n if (debugLog.polyfills.size === 0) {\n console.log(\n method === \"entry-global\"\n ? debugLog.found\n ? `Based on your targets, the ${provider.name} polyfill did not add any polyfill.`\n : `The entry point for the ${provider.name} polyfill has not been found.`\n : `Based on your code and targets, the ${provider.name} polyfill did not add any polyfill.`,\n );\n\n return;\n }\n\n if (method === \"entry-global\") {\n console.log(\n `The ${provider.name} polyfill entry has been replaced with ` +\n `the following polyfills:`,\n );\n } else {\n console.log(\n `The ${provider.name} polyfill added the following polyfills:`,\n );\n }\n\n for (const name of debugLog.polyfills) {\n if (debugLog.polyfillsSupport?.[name]) {\n const filteredTargets = getInclusionReasons(\n name,\n targets,\n debugLog.polyfillsSupport,\n );\n\n const formattedTargets = JSON.stringify(filteredTargets)\n .replace(/,/g, \", \")\n .replace(/^\\{\"/, '{ \"')\n .replace(/\"\\}$/, '\" }');\n\n console.log(` ${name} ${formattedTargets}`);\n } else {\n console.log(` ${name}`);\n }\n }\n },\n };\n });\n}\n\nfunction mapGetOr(map, key, getDefault) {\n let val = map.get(key);\n if (val === undefined) {\n val = getDefault();\n map.set(key, val);\n }\n return val;\n}\n\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n"],"names":["types","t","template","intersection","a","b","result","Set","forEach","v","has","add","object","key","Object","prototype","hasOwnProperty","call","getType","target","toString","slice","resolveId","path","isIdentifier","scope","hasBinding","node","name","deopt","evaluate","resolveKey","computed","isStringLiteral","value","parent","isMemberExpression","get","sym","resolveSource","obj","id","placement","undefined","isRegExpLiteral","isFunction","getImportSource","specifiers","length","source","getRequireSource","isExpressionStatement","expression","isCallExpression","callee","arguments","hoist","_blockHoist","createUtilsGetter","cache","prog","findParent","p","isProgram","injectGlobalImport","url","storeAnonymous","isScript","statement","ast","importDeclaration","injectNamedImport","hint","storeNamed","generateUidIdentifier","importSpecifier","injectDefaultImport","importDefaultSpecifier","ImportsCache","constructor","resolver","_imports","WeakMap","_anonymousImports","_lastImports","_resolver","programPath","getVal","_normalizeKey","imports","_ensure","sourceType","stringLiteral","_injectImport","Map","identifier","set","lastImport","newNodes","container","body","insertAfter","unshiftContainer","newNode","map","Collection","collection","presetEnvSilentDebugHeader","stringifyTargetsMultiline","targets","JSON","stringify","prettifyTargets","patternToRegExp","pattern","RegExp","buildUnusedError","label","unused","original","String","join","buldDuplicatesError","duplicates","size","Array","from","validateIncludeExclude","provider","polyfills","includePatterns","excludePatterns","current","filter","regexp","matched","polyfill","test","include","unusedInclude","exclude","unusedExclude","Error","applyMissingDependenciesDefaults","options","babelApi","missingDependencies","caller","log","inject","all","callProvider","property","kind","ReferencedIdentifier","getBindingIdentifier","MemberExpression","binding","getBinding","isImportNamespaceSpecifier","ObjectPattern","parentPath","isVariableDeclarator","isAssignmentExpression","grand","isNewExpression","prop","isObjectProperty","BinaryExpression","operator","ImportDeclaration","Program","bodyPath","nativeRequireResolve","parseFloat","process","versions","require","createRequire","import","meta","myResolve","basedir","resolve","paths","replace","requireResolve","sync","dirname","moduleName","absoluteImports","err","code","assign","logMissing","missingDeps","deps","sort","console","warn","exitCode","allMissingDeps","laterLogMissingDependencies","debounce","laterLogMissing","PossibleGlobalObjects","createMetaResolver","static","staticP","instance","instanceP","global","globalP","desc","getTargets","_getTargets","default","resolveOptions","method","targetsOption","ignoreBrowserslistConfig","configPath","debug","shouldInjectPolyfill","providerOptions","isEmpty","methodName","targetsObj","isArray","browsers","instantiateProvider","factory","debugLog","getUtils","polyfillsSupport","polyfillsNames","filterPolyfills","depsCache","api","babel","shouldInject","isRequired","compatData","includes","excludes","found","assertDependency","version","dep","mapGetOr","keys","payload","utils","definePolyfillProvider","declare","assertVersion","traverse","createVisitor","visitor","visitors","merge","pre","providers","apply","post","filename","filteredTargets","getInclusionReasons","formattedTargets","getDefault","val"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.node.mjs","sources":["../src/utils.ts","../src/imports-cache.ts","../src/debug-utils.ts","../src/normalize-options.ts","../src/visitors/usage.ts","../src/visitors/entry.ts","../src/node/dependencies.ts","../src/meta-resolver.ts","../src/index.ts"],"sourcesContent":["import { types as t, template } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport type { Utils } from \"./types\";\nimport type ImportsCache from \"./imports-cache\";\n\nexport function intersection(a: Set, b: Set): Set {\n const result = new Set();\n a.forEach(v => b.has(v) && result.add(v));\n return result;\n}\n\nexport function has(object: any, key: string) {\n return Object.prototype.hasOwnProperty.call(object, key);\n}\n\nfunction getType(target: any): string {\n return Object.prototype.toString.call(target).slice(8, -1);\n}\n\nfunction resolveId(path): string {\n if (\n path.isIdentifier() &&\n !path.scope.hasBinding(path.node.name, /* noGlobals */ true)\n ) {\n return path.node.name;\n }\n\n const { deopt } = path.evaluate();\n if (deopt && deopt.isIdentifier()) {\n return deopt.node.name;\n }\n}\n\nexport function resolveKey(\n path: NodePath,\n computed: boolean = false,\n) {\n const { scope } = path;\n if (path.isStringLiteral()) return path.node.value;\n const isIdentifier = path.isIdentifier();\n if (\n isIdentifier &&\n !(computed || (path.parent as t.MemberExpression).computed)\n ) {\n return path.node.name;\n }\n\n if (\n computed &&\n path.isMemberExpression() &&\n path.get(\"object\").isIdentifier({ name: \"Symbol\" }) &&\n !scope.hasBinding(\"Symbol\", /* noGlobals */ true)\n ) {\n const sym = resolveKey(path.get(\"property\"), path.node.computed);\n if (sym) return \"Symbol.\" + sym;\n }\n\n if (!isIdentifier || scope.hasBinding(path.node.name, /* noGlobals */ true)) {\n const { value } = path.evaluate();\n if (typeof value === \"string\") return value;\n }\n}\n\nexport function resolveSource(obj: NodePath): {\n id: string | null;\n placement: \"prototype\" | \"static\" | null;\n} {\n if (\n obj.isMemberExpression() &&\n obj.get(\"property\").isIdentifier({ name: \"prototype\" })\n ) {\n const id = resolveId(obj.get(\"object\"));\n\n if (id) {\n return { id, placement: \"prototype\" };\n }\n return { id: null, placement: null };\n }\n\n const id = resolveId(obj);\n if (id) {\n return { id, placement: \"static\" };\n }\n\n const { value } = obj.evaluate();\n if (value !== undefined) {\n return { id: getType(value), placement: \"prototype\" };\n } else if (obj.isRegExpLiteral()) {\n return { id: \"RegExp\", placement: \"prototype\" };\n } else if (obj.isFunction()) {\n return { id: \"Function\", placement: \"prototype\" };\n }\n\n return { id: null, placement: null };\n}\n\nexport function getImportSource({ node }: NodePath) {\n if (node.specifiers.length === 0) return node.source.value;\n}\n\nexport function getRequireSource({ node }: NodePath) {\n if (!t.isExpressionStatement(node)) return;\n const { expression } = node;\n if (\n t.isCallExpression(expression) &&\n t.isIdentifier(expression.callee) &&\n expression.callee.name === \"require\" &&\n expression.arguments.length === 1 &&\n t.isStringLiteral(expression.arguments[0])\n ) {\n return expression.arguments[0].value;\n }\n}\n\nfunction hoist(node: t.Node) {\n // @ts-expect-error\n node._blockHoist = 3;\n return node;\n}\n\nexport function createUtilsGetter(cache: ImportsCache) {\n return (path: NodePath): Utils => {\n const prog = path.findParent(p => p.isProgram()) as NodePath;\n\n return {\n injectGlobalImport(url) {\n cache.storeAnonymous(prog, url, (isScript, source) => {\n return isScript\n ? template.statement.ast`require(${source})`\n : t.importDeclaration([], source);\n });\n },\n injectNamedImport(url, name, hint = name) {\n return cache.storeNamed(prog, url, name, (isScript, source, name) => {\n const id = prog.scope.generateUidIdentifier(hint);\n return {\n node: isScript\n ? hoist(template.statement.ast`\n var ${id} = require(${source}).${name}\n `)\n : t.importDeclaration([t.importSpecifier(id, name)], source),\n name: id.name,\n };\n });\n },\n injectDefaultImport(url, hint = url) {\n return cache.storeNamed(prog, url, \"default\", (isScript, source) => {\n const id = prog.scope.generateUidIdentifier(hint);\n return {\n node: isScript\n ? hoist(template.statement.ast`var ${id} = require(${source})`)\n : t.importDeclaration([t.importDefaultSpecifier(id)], source),\n name: id.name,\n };\n });\n },\n };\n };\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport { types as t } from \"@babel/core\";\n\ntype StrMap = Map;\n\nexport default class ImportsCache {\n _imports: WeakMap, StrMap>;\n _anonymousImports: WeakMap, Set>;\n _lastImports: WeakMap, NodePath>;\n _resolver: (url: string) => string;\n\n constructor(resolver: (url: string) => string) {\n this._imports = new WeakMap();\n this._anonymousImports = new WeakMap();\n this._lastImports = new WeakMap();\n this._resolver = resolver;\n }\n\n storeAnonymous(\n programPath: NodePath,\n url: string,\n // eslint-disable-next-line no-undef\n getVal: (isScript: boolean, source: t.StringLiteral) => t.Node,\n ) {\n const key = this._normalizeKey(programPath, url);\n const imports = this._ensure>(\n this._anonymousImports,\n programPath,\n Set,\n );\n\n if (imports.has(key)) return;\n\n const node = getVal(\n programPath.node.sourceType === \"script\",\n t.stringLiteral(this._resolver(url)),\n );\n imports.add(key);\n this._injectImport(programPath, node);\n }\n\n storeNamed(\n programPath: NodePath,\n url: string,\n name: string,\n getVal: (\n isScript: boolean,\n // eslint-disable-next-line no-undef\n source: t.StringLiteral,\n // eslint-disable-next-line no-undef\n name: t.Identifier,\n ) => { node: t.Node; name: string },\n ) {\n const key = this._normalizeKey(programPath, url, name);\n const imports = this._ensure>(\n this._imports,\n programPath,\n Map,\n );\n\n if (!imports.has(key)) {\n const { node, name: id } = getVal(\n programPath.node.sourceType === \"script\",\n t.stringLiteral(this._resolver(url)),\n t.identifier(name),\n );\n imports.set(key, id);\n this._injectImport(programPath, node);\n }\n\n return t.identifier(imports.get(key));\n }\n\n _injectImport(programPath: NodePath, node: t.Node) {\n const lastImport = this._lastImports.get(programPath);\n let newNodes: [NodePath];\n if (\n lastImport &&\n lastImport.node &&\n // Sometimes the AST is modified and the \"last import\"\n // we have has been replaced\n lastImport.parent === programPath.node &&\n lastImport.container === programPath.node.body\n ) {\n newNodes = lastImport.insertAfter(node);\n } else {\n newNodes = programPath.unshiftContainer(\"body\", node);\n }\n const newNode = newNodes[newNodes.length - 1];\n this._lastImports.set(programPath, newNode);\n\n /*\n let lastImport;\n\n programPath.get(\"body\").forEach(path => {\n if (path.isImportDeclaration()) lastImport = path;\n if (\n path.isExpressionStatement() &&\n isRequireCall(path.get(\"expression\"))\n ) {\n lastImport = path;\n }\n if (\n path.isVariableDeclaration() &&\n path.get(\"declarations\").length === 1 &&\n (isRequireCall(path.get(\"declarations.0.init\")) ||\n (path.get(\"declarations.0.init\").isMemberExpression() &&\n isRequireCall(path.get(\"declarations.0.init.object\"))))\n ) {\n lastImport = path;\n }\n });*/\n }\n\n _ensure | Set>(\n map: WeakMap, C>,\n programPath: NodePath,\n Collection: { new (...args: any): C },\n ): C {\n let collection = map.get(programPath);\n if (!collection) {\n collection = new Collection();\n map.set(programPath, collection);\n }\n return collection;\n }\n\n _normalizeKey(\n programPath: NodePath,\n url: string,\n name: string = \"\",\n ): string {\n const { sourceType } = programPath.node;\n\n // If we rely on the imported binding (the \"name\" parameter), we also need to cache\n // based on the sourceType. This is because the module transforms change the names\n // of the import variables.\n return `${name && sourceType}::${url}::${name}`;\n }\n}\n","import { prettifyTargets } from \"@babel/helper-compilation-targets\";\n\nimport type { Targets } from \"./types\";\n\nexport const presetEnvSilentDebugHeader =\n \"#__secret_key__@babel/preset-env__don't_log_debug_header_and_resolved_targets\";\n\nexport function stringifyTargetsMultiline(targets: Targets): string {\n return JSON.stringify(prettifyTargets(targets), null, 2);\n}\n\nexport function stringifyTargets(targets: Targets): string {\n return JSON.stringify(targets)\n .replace(/,/g, \", \")\n .replace(/^\\{\"/, '{ \"')\n .replace(/\"\\}$/, '\" }');\n}\n","import { intersection } from \"./utils\";\nimport type {\n Pattern,\n PluginOptions,\n MissingDependenciesOption,\n} from \"./types\";\n\nfunction patternToRegExp(pattern: Pattern): RegExp | null {\n if (pattern instanceof RegExp) return pattern;\n\n try {\n return new RegExp(`^${pattern}$`);\n } catch {\n return null;\n }\n}\n\nfunction buildUnusedError(label, unused) {\n if (!unused.length) return \"\";\n return (\n ` - The following \"${label}\" patterns didn't match any polyfill:\\n` +\n unused.map(original => ` ${String(original)}\\n`).join(\"\")\n );\n}\n\nfunction buldDuplicatesError(duplicates) {\n if (!duplicates.size) return \"\";\n return (\n ` - The following polyfills were matched both by \"include\" and \"exclude\" patterns:\\n` +\n Array.from(duplicates, name => ` ${name}\\n`).join(\"\")\n );\n}\n\nexport function validateIncludeExclude(\n provider: string,\n polyfills: Set,\n includePatterns: Pattern[],\n excludePatterns: Pattern[],\n) {\n let current;\n const filter = pattern => {\n const regexp = patternToRegExp(pattern);\n if (!regexp) return false;\n\n let matched = false;\n for (const polyfill of polyfills) {\n if (regexp.test(polyfill)) {\n matched = true;\n current.add(polyfill);\n }\n }\n return !matched;\n };\n\n // prettier-ignore\n const include = current = new Set ();\n const unusedInclude = Array.from(includePatterns).filter(filter);\n\n // prettier-ignore\n const exclude = current = new Set ();\n const unusedExclude = Array.from(excludePatterns).filter(filter);\n\n const duplicates = intersection(include, exclude);\n\n if (\n duplicates.size > 0 ||\n unusedInclude.length > 0 ||\n unusedExclude.length > 0\n ) {\n throw new Error(\n `Error while validating the \"${provider}\" provider options:\\n` +\n buildUnusedError(\"include\", unusedInclude) +\n buildUnusedError(\"exclude\", unusedExclude) +\n buldDuplicatesError(duplicates),\n );\n }\n\n return { include, exclude };\n}\n\nexport function applyMissingDependenciesDefaults(\n options: PluginOptions,\n babelApi: any,\n): MissingDependenciesOption {\n const { missingDependencies = {} } = options;\n if (missingDependencies === false) return false;\n\n const caller = babelApi.caller(caller => caller?.name);\n\n const {\n log = \"deferred\",\n inject = caller === \"rollup-plugin-babel\" ? \"throw\" : \"import\",\n all = false,\n } = missingDependencies;\n\n return { log, inject, all };\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport { types as t } from \"@babel/core\";\nimport type { MetaDescriptor } from \"../types\";\n\nimport { resolveKey, resolveSource } from \"../utils\";\n\nexport default (\n callProvider: (payload: MetaDescriptor, path: NodePath) => void,\n) => {\n function property(object, key, placement, path) {\n return callProvider({ kind: \"property\", object, key, placement }, path);\n }\n\n return {\n // Symbol(), new Promise\n ReferencedIdentifier(path: NodePath) {\n const {\n node: { name },\n scope,\n } = path;\n if (scope.getBindingIdentifier(name)) return;\n\n callProvider({ kind: \"global\", name }, path);\n },\n\n MemberExpression(path: NodePath) {\n const key = resolveKey(path.get(\"property\"), path.node.computed);\n if (!key || key === \"prototype\") return;\n\n const object = path.get(\"object\");\n if (object.isIdentifier()) {\n const binding = object.scope.getBinding(object.node.name);\n if (binding && binding.path.isImportNamespaceSpecifier()) return;\n }\n\n const source = resolveSource(object);\n return property(source.id, key, source.placement, path);\n },\n\n ObjectPattern(path: NodePath) {\n const { parentPath, parent } = path;\n let obj;\n\n // const { keys, values } = Object\n if (parentPath.isVariableDeclarator()) {\n obj = parentPath.get(\"init\");\n // ({ keys, values } = Object)\n } else if (parentPath.isAssignmentExpression()) {\n obj = parentPath.get(\"right\");\n // !function ({ keys, values }) {...} (Object)\n // resolution does not work after properties transform :-(\n } else if (parentPath.isFunction()) {\n const grand = parentPath.parentPath;\n if (grand.isCallExpression() || grand.isNewExpression()) {\n if (grand.node.callee === parent) {\n obj = grand.get(\"arguments\")[path.key];\n }\n }\n }\n\n let id = null;\n let placement = null;\n if (obj) ({ id, placement } = resolveSource(obj));\n\n for (const prop of path.get(\"properties\")) {\n if (prop.isObjectProperty()) {\n const key = resolveKey(prop.get(\"key\"));\n if (key) property(id, key, placement, prop);\n }\n }\n },\n\n BinaryExpression(path: NodePath) {\n if (path.node.operator !== \"in\") return;\n\n const source = resolveSource(path.get(\"right\"));\n const key = resolveKey(path.get(\"left\"), true);\n\n if (!key) return;\n\n callProvider(\n {\n kind: \"in\",\n object: source.id,\n key,\n placement: source.placement,\n },\n path,\n );\n },\n };\n};\n","import type { NodePath } from \"@babel/traverse\";\nimport { types as t } from \"@babel/core\";\nimport type { MetaDescriptor } from \"../types\";\n\nimport { getImportSource, getRequireSource } from \"../utils\";\n\nexport default (\n callProvider: (payload: MetaDescriptor, path: NodePath) => void,\n) => ({\n ImportDeclaration(path: NodePath) {\n const source = getImportSource(path);\n if (!source) return;\n callProvider({ kind: \"import\", source }, path);\n },\n Program(path: NodePath) {\n path.get(\"body\").forEach(bodyPath => {\n const source = getRequireSource(bodyPath);\n if (!source) return;\n callProvider({ kind: \"import\", source }, bodyPath);\n });\n },\n});\n","import path from \"path\";\nimport debounce from \"lodash.debounce\";\nimport requireResolve from \"resolve\";\n\nconst nativeRequireResolve = parseFloat(process.versions.node) >= 8.9;\n\nimport { createRequire } from \"module\";\nconst require = createRequire(import /*::(_)*/.meta.url); // eslint-disable-line\n\nfunction myResolve(name: string, basedir: string) {\n if (nativeRequireResolve) {\n return require\n .resolve(name, {\n paths: [basedir],\n })\n .replace(/\\\\/g, \"/\");\n } else {\n return requireResolve.sync(name, { basedir }).replace(/\\\\/g, \"/\");\n }\n}\n\nexport function resolve(\n dirname: string,\n moduleName: string,\n absoluteImports: boolean | string,\n): string {\n if (absoluteImports === false) return moduleName;\n\n let basedir = dirname;\n if (typeof absoluteImports === \"string\") {\n basedir = path.resolve(basedir, absoluteImports);\n }\n\n try {\n return myResolve(moduleName, basedir);\n } catch (err) {\n if (err.code !== \"MODULE_NOT_FOUND\") throw err;\n\n throw Object.assign(\n new Error(`Failed to resolve \"${moduleName}\" relative to \"${dirname}\"`),\n {\n code: \"BABEL_POLYFILL_NOT_FOUND\",\n polyfill: moduleName,\n dirname,\n },\n );\n }\n}\n\nexport function has(basedir: string, name: string) {\n try {\n myResolve(name, basedir);\n return true;\n } catch {\n return false;\n }\n}\n\nexport function logMissing(missingDeps: Set) {\n if (missingDeps.size === 0) return;\n\n const deps = Array.from(missingDeps).sort().join(\" \");\n\n console.warn(\n \"\\nSome polyfills have been added but are not present in your dependencies.\\n\" +\n \"Please run one of the following commands:\\n\" +\n `\\tnpm install --save ${deps}\\n` +\n `\\tyarn add ${deps}\\n`,\n );\n\n process.exitCode = 1;\n}\n\nlet allMissingDeps = new Set();\n\nconst laterLogMissingDependencies = debounce(() => {\n logMissing(allMissingDeps);\n allMissingDeps = new Set();\n}, 100);\n\nexport function laterLogMissing(missingDeps: Set) {\n if (missingDeps.size === 0) return;\n\n missingDeps.forEach(name => allMissingDeps.add(name));\n laterLogMissingDependencies();\n}\n","import type {\n MetaDescriptor,\n ResolverPolyfills,\n ResolvedPolyfill,\n} from \"./types\";\n\nimport { has } from \"./utils\";\n\ntype ResolverFn = (meta: MetaDescriptor) => void | ResolvedPolyfill;\n\nconst PossibleGlobalObjects = new Set([\n \"global\",\n \"globalThis\",\n \"self\",\n \"window\",\n]);\n\nexport default function createMetaResolver(\n polyfills: ResolverPolyfills,\n): ResolverFn {\n const { static: staticP, instance: instanceP, global: globalP } = polyfills;\n\n return meta => {\n if (meta.kind === \"global\" && globalP && has(globalP, meta.name)) {\n return { kind: \"global\", desc: globalP[meta.name], name: meta.name };\n }\n\n if (meta.kind === \"property\" || meta.kind === \"in\") {\n const { placement, object, key } = meta;\n\n if (object && placement === \"static\") {\n if (globalP && PossibleGlobalObjects.has(object) && has(globalP, key)) {\n return { kind: \"global\", desc: globalP[key], name: key };\n }\n\n if (staticP && has(staticP, object) && has(staticP[object], key)) {\n return {\n kind: \"static\",\n desc: staticP[object][key],\n name: `${object}$${key}`,\n };\n }\n }\n\n if (instanceP && has(instanceP, key)) {\n return { kind: \"instance\", desc: instanceP[key], name: `${key}` };\n }\n }\n };\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport type { NodePath } from \"@babel/traverse\";\n\nimport _getTargets, {\n isRequired,\n getInclusionReasons,\n} from \"@babel/helper-compilation-targets\";\nconst getTargets = _getTargets.default || _getTargets;\n\nimport { createUtilsGetter } from \"./utils\";\nimport ImportsCache from \"./imports-cache\";\nimport {\n stringifyTargetsMultiline,\n presetEnvSilentDebugHeader,\n} from \"./debug-utils\";\nimport {\n validateIncludeExclude,\n applyMissingDependenciesDefaults,\n} from \"./normalize-options\";\n\nimport type {\n ProviderApi,\n MethodString,\n Targets,\n MetaDescriptor,\n PolyfillProvider,\n PluginOptions,\n ProviderOptions,\n} from \"./types\";\n\nimport * as v from \"./visitors\";\nimport * as deps from \"./node/dependencies\";\n\nimport createMetaResolver from \"./meta-resolver\";\n\nexport type { PolyfillProvider, MetaDescriptor, Utils, Targets } from \"./types\";\n\nfunction resolveOptions(\n options: PluginOptions,\n babelApi,\n): {\n method: MethodString;\n methodName: \"usageGlobal\" | \"entryGlobal\" | \"usagePure\";\n targets: Targets;\n debug: boolean | typeof presetEnvSilentDebugHeader;\n shouldInjectPolyfill:\n | ((name: string, shouldInject: boolean) => boolean)\n | undefined;\n providerOptions: ProviderOptions;\n absoluteImports: string | boolean;\n} {\n const {\n method,\n targets: targetsOption,\n ignoreBrowserslistConfig,\n configPath,\n debug,\n shouldInjectPolyfill,\n absoluteImports,\n ...providerOptions\n } = options;\n\n if (isEmpty(options)) {\n throw new Error(\n `\\\nThis plugin requires options, for example:\n {\n \"plugins\": [\n [\"\", { method: \"usage-pure\" }]\n ]\n }\n\nSee more options at https://github.com/babel/babel-polyfills/blob/main/docs/usage.md`,\n );\n }\n\n let methodName;\n if (method === \"usage-global\") methodName = \"usageGlobal\";\n else if (method === \"entry-global\") methodName = \"entryGlobal\";\n else if (method === \"usage-pure\") methodName = \"usagePure\";\n else if (typeof method !== \"string\") {\n throw new Error(\".method must be a string\");\n } else {\n throw new Error(\n `.method must be one of \"entry-global\", \"usage-global\"` +\n ` or \"usage-pure\" (received ${JSON.stringify(method)})`,\n );\n }\n\n if (typeof shouldInjectPolyfill === \"function\") {\n if (options.include || options.exclude) {\n throw new Error(\n `.include and .exclude are not supported when using the` +\n ` .shouldInjectPolyfill function.`,\n );\n }\n } else if (shouldInjectPolyfill != null) {\n throw new Error(\n `.shouldInjectPolyfill must be a function, or undefined` +\n ` (received ${JSON.stringify(shouldInjectPolyfill)})`,\n );\n }\n\n if (\n absoluteImports != null &&\n typeof absoluteImports !== \"boolean\" &&\n typeof absoluteImports !== \"string\"\n ) {\n throw new Error(\n `.absoluteImports must be a boolean, a string, or undefined` +\n ` (received ${JSON.stringify(absoluteImports)})`,\n );\n }\n\n let targets;\n\n if (\n // If any browserslist-related option is specified, fallback to the old\n // behavior of not using the targets specified in the top-level options.\n targetsOption ||\n configPath ||\n ignoreBrowserslistConfig\n ) {\n const targetsObj =\n typeof targetsOption === \"string\" || Array.isArray(targetsOption)\n ? { browsers: targetsOption }\n : targetsOption;\n\n targets = getTargets(targetsObj, {\n ignoreBrowserslistConfig,\n configPath,\n });\n } else {\n targets = babelApi.targets();\n }\n\n return {\n method,\n methodName,\n targets,\n absoluteImports: absoluteImports ?? false,\n shouldInjectPolyfill,\n debug: !!debug,\n providerOptions: providerOptions as any as ProviderOptions,\n };\n}\n\nfunction instantiateProvider(\n factory: PolyfillProvider,\n options: PluginOptions,\n missingDependencies,\n dirname,\n debugLog,\n babelApi,\n) {\n const {\n method,\n methodName,\n targets,\n debug,\n shouldInjectPolyfill,\n providerOptions,\n absoluteImports,\n } = resolveOptions(options, babelApi);\n\n const getUtils = createUtilsGetter(\n new ImportsCache(moduleName =>\n deps.resolve(dirname, moduleName, absoluteImports),\n ),\n );\n\n // eslint-disable-next-line prefer-const\n let include, exclude;\n let polyfillsSupport;\n let polyfillsNames;\n let filterPolyfills;\n\n const depsCache = new Map();\n\n const api: ProviderApi = {\n babel: babelApi,\n getUtils,\n method: options.method,\n targets,\n createMetaResolver,\n shouldInjectPolyfill(name) {\n if (polyfillsNames === undefined) {\n throw new Error(\n `Internal error in the ${factory.name} provider: ` +\n `shouldInjectPolyfill() can't be called during initialization.`,\n );\n }\n if (!polyfillsNames.has(name)) {\n console.warn(\n `Internal error in the ${providerName} provider: ` +\n `unknown polyfill \"${name}\".`,\n );\n }\n\n if (filterPolyfills && !filterPolyfills(name)) return false;\n\n let shouldInject = isRequired(name, targets, {\n compatData: polyfillsSupport,\n includes: include,\n excludes: exclude,\n });\n\n if (shouldInjectPolyfill) {\n shouldInject = shouldInjectPolyfill(name, shouldInject);\n if (typeof shouldInject !== \"boolean\") {\n throw new Error(`.shouldInjectPolyfill must return a boolean.`);\n }\n }\n\n return shouldInject;\n },\n debug(name) {\n debugLog().found = true;\n\n if (!debug || !name) return;\n\n if (debugLog().polyfills.has(providerName)) return;\n debugLog().polyfills.add(name);\n debugLog().polyfillsSupport ??= polyfillsSupport;\n },\n assertDependency(name, version = \"*\") {\n if (missingDependencies === false) return;\n if (absoluteImports) {\n // If absoluteImports is not false, we will try resolving\n // the dependency and throw if it's not possible. We can\n // skip the check here.\n return;\n }\n\n const dep = version === \"*\" ? name : `${name}@^${version}`;\n\n const found = missingDependencies.all\n ? false\n : mapGetOr(depsCache, `${name} :: ${dirname}`, () =>\n deps.has(dirname, name),\n );\n\n if (!found) {\n debugLog().missingDeps.add(dep);\n }\n },\n };\n\n const provider = factory(api, providerOptions, dirname);\n const providerName = provider.name || factory.name;\n\n if (typeof provider[methodName] !== \"function\") {\n throw new Error(\n `The \"${providerName}\" provider doesn't support the \"${method}\" polyfilling method.`,\n );\n }\n\n if (Array.isArray(provider.polyfills)) {\n polyfillsNames = new Set(provider.polyfills);\n filterPolyfills = provider.filterPolyfills;\n } else if (provider.polyfills) {\n polyfillsNames = new Set(Object.keys(provider.polyfills));\n polyfillsSupport = provider.polyfills;\n filterPolyfills = provider.filterPolyfills;\n } else {\n polyfillsNames = new Set();\n }\n\n ({ include, exclude } = validateIncludeExclude(\n providerName,\n polyfillsNames,\n providerOptions.include || [],\n providerOptions.exclude || [],\n ));\n\n return {\n debug,\n method,\n targets,\n provider,\n providerName,\n callProvider(payload: MetaDescriptor, path: NodePath) {\n const utils = getUtils(path);\n provider[methodName](payload, utils, path);\n },\n };\n}\n\nexport default function definePolyfillProvider(\n factory: PolyfillProvider,\n) {\n return declare((babelApi, options: PluginOptions, dirname: string) => {\n babelApi.assertVersion(7);\n const { traverse } = babelApi;\n\n let debugLog;\n\n const missingDependencies = applyMissingDependenciesDefaults(\n options,\n babelApi,\n );\n\n const { debug, method, targets, provider, providerName, callProvider } =\n instantiateProvider(\n factory,\n options,\n missingDependencies,\n dirname,\n () => debugLog,\n babelApi,\n );\n\n const createVisitor = method === \"entry-global\" ? v.entry : v.usage;\n\n const visitor = provider.visitor\n ? traverse.visitors.merge([createVisitor(callProvider), provider.visitor])\n : createVisitor(callProvider);\n\n if (debug && debug !== presetEnvSilentDebugHeader) {\n console.log(`${providerName}: \\`DEBUG\\` option`);\n console.log(`\\nUsing targets: ${stringifyTargetsMultiline(targets)}`);\n console.log(`\\nUsing polyfills with \\`${method}\\` method:`);\n }\n\n const { runtimeName } = provider;\n\n return {\n name: \"inject-polyfills\",\n visitor,\n\n pre(file) {\n if (runtimeName) {\n if (\n file.get(\"runtimeHelpersModuleName\") &&\n file.get(\"runtimeHelpersModuleName\") !== runtimeName\n ) {\n console.warn(\n `Two different polyfill providers` +\n ` (${file.get(\"runtimeHelpersModuleProvider\")}` +\n ` and ${providerName}) are trying to define two` +\n ` conflicting @babel/runtime alternatives:` +\n ` ${file.get(\"runtimeHelpersModuleName\")} and ${runtimeName}.` +\n ` The second one will be ignored.`,\n );\n } else {\n file.set(\"runtimeHelpersModuleName\", runtimeName);\n file.set(\"runtimeHelpersModuleProvider\", providerName);\n }\n }\n\n debugLog = {\n polyfills: new Set(),\n polyfillsSupport: undefined,\n found: false,\n providers: new Set(),\n missingDeps: new Set(),\n };\n\n provider.pre?.apply(this, arguments);\n },\n post() {\n provider.post?.apply(this, arguments);\n\n if (missingDependencies !== false) {\n if (missingDependencies.log === \"per-file\") {\n deps.logMissing(debugLog.missingDeps);\n } else {\n deps.laterLogMissing(debugLog.missingDeps);\n }\n }\n\n if (!debug) return;\n\n if (this.filename) console.log(`\\n[${this.filename}]`);\n\n if (debugLog.polyfills.size === 0) {\n console.log(\n method === \"entry-global\"\n ? debugLog.found\n ? `Based on your targets, the ${providerName} polyfill did not add any polyfill.`\n : `The entry point for the ${providerName} polyfill has not been found.`\n : `Based on your code and targets, the ${providerName} polyfill did not add any polyfill.`,\n );\n\n return;\n }\n\n if (method === \"entry-global\") {\n console.log(\n `The ${providerName} polyfill entry has been replaced with ` +\n `the following polyfills:`,\n );\n } else {\n console.log(\n `The ${providerName} polyfill added the following polyfills:`,\n );\n }\n\n for (const name of debugLog.polyfills) {\n if (debugLog.polyfillsSupport?.[name]) {\n const filteredTargets = getInclusionReasons(\n name,\n targets,\n debugLog.polyfillsSupport,\n );\n\n const formattedTargets = JSON.stringify(filteredTargets)\n .replace(/,/g, \", \")\n .replace(/^\\{\"/, '{ \"')\n .replace(/\"\\}$/, '\" }');\n\n console.log(` ${name} ${formattedTargets}`);\n } else {\n console.log(` ${name}`);\n }\n }\n },\n };\n });\n}\n\nfunction mapGetOr(map, key, getDefault) {\n let val = map.get(key);\n if (val === undefined) {\n val = getDefault();\n map.set(key, val);\n }\n return val;\n}\n\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n"],"names":["types","t","template","intersection","a","b","result","Set","forEach","v","has","add","object","key","Object","prototype","hasOwnProperty","call","getType","target","toString","slice","resolveId","path","isIdentifier","scope","hasBinding","node","name","deopt","evaluate","resolveKey","computed","isStringLiteral","value","parent","isMemberExpression","get","sym","resolveSource","obj","id","placement","undefined","isRegExpLiteral","isFunction","getImportSource","specifiers","length","source","getRequireSource","isExpressionStatement","expression","isCallExpression","callee","arguments","hoist","_blockHoist","createUtilsGetter","cache","prog","findParent","p","isProgram","injectGlobalImport","url","storeAnonymous","isScript","statement","ast","importDeclaration","injectNamedImport","hint","storeNamed","generateUidIdentifier","importSpecifier","injectDefaultImport","importDefaultSpecifier","ImportsCache","constructor","resolver","_imports","WeakMap","_anonymousImports","_lastImports","_resolver","programPath","getVal","_normalizeKey","imports","_ensure","sourceType","stringLiteral","_injectImport","Map","identifier","set","lastImport","newNodes","container","body","insertAfter","unshiftContainer","newNode","map","Collection","collection","presetEnvSilentDebugHeader","stringifyTargetsMultiline","targets","JSON","stringify","prettifyTargets","patternToRegExp","pattern","RegExp","buildUnusedError","label","unused","original","String","join","buldDuplicatesError","duplicates","size","Array","from","validateIncludeExclude","provider","polyfills","includePatterns","excludePatterns","current","filter","regexp","matched","polyfill","test","include","unusedInclude","exclude","unusedExclude","Error","applyMissingDependenciesDefaults","options","babelApi","missingDependencies","caller","log","inject","all","callProvider","property","kind","ReferencedIdentifier","getBindingIdentifier","MemberExpression","binding","getBinding","isImportNamespaceSpecifier","ObjectPattern","parentPath","isVariableDeclarator","isAssignmentExpression","grand","isNewExpression","prop","isObjectProperty","BinaryExpression","operator","ImportDeclaration","Program","bodyPath","nativeRequireResolve","parseFloat","process","versions","require","createRequire","import","meta","myResolve","basedir","resolve","paths","replace","requireResolve","sync","dirname","moduleName","absoluteImports","err","code","assign","logMissing","missingDeps","deps","sort","console","warn","exitCode","allMissingDeps","laterLogMissingDependencies","debounce","laterLogMissing","PossibleGlobalObjects","createMetaResolver","static","staticP","instance","instanceP","global","globalP","desc","getTargets","_getTargets","default","resolveOptions","method","targetsOption","ignoreBrowserslistConfig","configPath","debug","shouldInjectPolyfill","providerOptions","isEmpty","methodName","targetsObj","isArray","browsers","instantiateProvider","factory","debugLog","getUtils","polyfillsSupport","polyfillsNames","filterPolyfills","depsCache","api","babel","providerName","shouldInject","isRequired","compatData","includes","excludes","found","assertDependency","version","dep","mapGetOr","keys","payload","utils","definePolyfillProvider","declare","assertVersion","traverse","createVisitor","visitor","visitors","merge","runtimeName","pre","file","providers","apply","post","filename","filteredTargets","getInclusionReasons","formattedTargets","getDefault","val"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/helper-define-polyfill-provider/lib/index.js b/node_modules/@babel/helper-define-polyfill-provider/lib/index.js index 6f3462885..df834d1ec 100644 --- a/node_modules/@babel/helper-define-polyfill-provider/lib/index.js +++ b/node_modules/@babel/helper-define-polyfill-provider/lib/index.js @@ -133,7 +133,7 @@ function instantiateProvider(factory, options, missingDependencies, dirname, deb } if (!polyfillsNames.has(name)) { - console.warn(`Internal error in the ${provider.name} provider: ` + `unknown polyfill "${name}".`); + console.warn(`Internal error in the ${providerName} provider: ` + `unknown polyfill "${name}".`); } if (filterPolyfills && !filterPolyfills(name)) return false; @@ -159,7 +159,7 @@ function instantiateProvider(factory, options, missingDependencies, dirname, deb debugLog().found = true; if (!debug || !name) return; - if (debugLog().polyfills.has(provider.name)) return; + if (debugLog().polyfills.has(providerName)) return; debugLog().polyfills.add(name); (_debugLog$polyfillsSu = (_debugLog = debugLog()).polyfillsSupport) != null ? _debugLog$polyfillsSu : _debugLog.polyfillsSupport = polyfillsSupport; }, @@ -184,9 +184,10 @@ function instantiateProvider(factory, options, missingDependencies, dirname, deb }; const provider = factory(api, providerOptions, dirname); + const providerName = provider.name || factory.name; if (typeof provider[methodName] !== "function") { - throw new Error(`The "${provider.name || factory.name}" provider doesn't ` + `support the "${method}" polyfilling method.`); + throw new Error(`The "${providerName}" provider doesn't support the "${method}" polyfilling method.`); } if (Array.isArray(provider.polyfills)) { @@ -203,12 +204,13 @@ function instantiateProvider(factory, options, missingDependencies, dirname, deb ({ include, exclude - } = (0, _normalizeOptions.validateIncludeExclude)(provider.name || factory.name, polyfillsNames, providerOptions.include || [], providerOptions.exclude || [])); + } = (0, _normalizeOptions.validateIncludeExclude)(providerName, polyfillsNames, providerOptions.include || [], providerOptions.exclude || [])); return { debug, method, targets, provider, + providerName, callProvider(payload, path) { const utils = getUtils(path); @@ -231,24 +233,37 @@ function definePolyfillProvider(factory) { method, targets, provider, + providerName, callProvider } = instantiateProvider(factory, options, missingDependencies, dirname, () => debugLog, babelApi); const createVisitor = method === "entry-global" ? v.entry : v.usage; const visitor = provider.visitor ? traverse.visitors.merge([createVisitor(callProvider), provider.visitor]) : createVisitor(callProvider); if (debug && debug !== _debugUtils.presetEnvSilentDebugHeader) { - console.log(`${provider.name}: \`DEBUG\` option`); + console.log(`${providerName}: \`DEBUG\` option`); console.log(`\nUsing targets: ${(0, _debugUtils.stringifyTargetsMultiline)(targets)}`); console.log(`\nUsing polyfills with \`${method}\` method:`); } + const { + runtimeName + } = provider; return { name: "inject-polyfills", visitor, - pre() { + pre(file) { var _provider$pre; + if (runtimeName) { + if (file.get("runtimeHelpersModuleName") && file.get("runtimeHelpersModuleName") !== runtimeName) { + console.warn(`Two different polyfill providers` + ` (${file.get("runtimeHelpersModuleProvider")}` + ` and ${providerName}) are trying to define two` + ` conflicting @babel/runtime alternatives:` + ` ${file.get("runtimeHelpersModuleName")} and ${runtimeName}.` + ` The second one will be ignored.`); + } else { + file.set("runtimeHelpersModuleName", runtimeName); + file.set("runtimeHelpersModuleProvider", providerName); + } + } + debugLog = { polyfills: new Set(), polyfillsSupport: undefined, @@ -276,14 +291,14 @@ function definePolyfillProvider(factory) { if (this.filename) console.log(`\n[${this.filename}]`); if (debugLog.polyfills.size === 0) { - console.log(method === "entry-global" ? debugLog.found ? `Based on your targets, the ${provider.name} polyfill did not add any polyfill.` : `The entry point for the ${provider.name} polyfill has not been found.` : `Based on your code and targets, the ${provider.name} polyfill did not add any polyfill.`); + console.log(method === "entry-global" ? debugLog.found ? `Based on your targets, the ${providerName} polyfill did not add any polyfill.` : `The entry point for the ${providerName} polyfill has not been found.` : `Based on your code and targets, the ${providerName} polyfill did not add any polyfill.`); return; } if (method === "entry-global") { - console.log(`The ${provider.name} polyfill entry has been replaced with ` + `the following polyfills:`); + console.log(`The ${providerName} polyfill entry has been replaced with ` + `the following polyfills:`); } else { - console.log(`The ${provider.name} polyfill added the following polyfills:`); + console.log(`The ${providerName} polyfill added the following polyfills:`); } for (const name of debugLog.polyfills) { diff --git a/node_modules/@babel/helper-define-polyfill-provider/package.json b/node_modules/@babel/helper-define-polyfill-provider/package.json index fc0d479a9..b9a58741f 100644 --- a/node_modules/@babel/helper-define-polyfill-provider/package.json +++ b/node_modules/@babel/helper-define-polyfill-provider/package.json @@ -1,6 +1,6 @@ { "name": "@babel/helper-define-polyfill-provider", - "version": "0.3.3", + "version": "0.4.0", "description": "Babel helper to create your own polyfill provider", "repository": { "type": "git", @@ -56,5 +56,5 @@ "webpack": "^4.42.1", "webpack-cli": "^3.3.11" }, - "gitHead": "42b9477c199c0c5420b45cfa8c9bb892d94a64af" + "gitHead": "391a1f4049fe1d6943ca8e91cf7e2e23f3f1ef73" } \ No newline at end of file diff --git a/node_modules/@babel/helper-environment-visitor/README.md b/node_modules/@babel/helper-environment-visitor/README.md index ec74ac360..cbea7a4ef 100644 --- a/node_modules/@babel/helper-environment-visitor/README.md +++ b/node_modules/@babel/helper-environment-visitor/README.md @@ -9,11 +9,11 @@ See our website [@babel/helper-environment-visitor](https://babeljs.io/docs/en/b Using npm: ```sh -npm install --save-dev @babel/helper-environment-visitor +npm install --save @babel/helper-environment-visitor ``` or using yarn: ```sh -yarn add @babel/helper-environment-visitor --dev +yarn add @babel/helper-environment-visitor ``` diff --git a/node_modules/@babel/helper-environment-visitor/lib/index.js b/node_modules/@babel/helper-environment-visitor/lib/index.js index bf1a3038b..6bc279a31 100644 --- a/node_modules/@babel/helper-environment-visitor/lib/index.js +++ b/node_modules/@babel/helper-environment-visitor/lib/index.js @@ -5,55 +5,52 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; exports.requeueComputedKeyAndDecorators = requeueComputedKeyAndDecorators; -exports.skipAllButComputedKey = skipAllButComputedKey; - -function skipAllButComputedKey(path) { - path.skip(); - - if (path.node.computed) { - path.context.maybeQueue(path.get("key")); +{ + { + { + exports.skipAllButComputedKey = function skipAllButComputedKey(path) { + path.skip(); + if (path.node.computed) { + path.context.maybeQueue(path.get("key")); + } + }; + } } } - function requeueComputedKeyAndDecorators(path) { const { context, node } = path; - if (node.computed) { context.maybeQueue(path.get("key")); } - if (node.decorators) { for (const decorator of path.get("decorators")) { context.maybeQueue(decorator); } } } - const visitor = { FunctionParent(path) { if (path.isArrowFunctionExpression()) { return; } else { path.skip(); - if (path.isMethod()) { requeueComputedKeyAndDecorators(path); } } }, - Property(path) { if (path.isObjectProperty()) { return; } - path.skip(); requeueComputedKeyAndDecorators(path); } - }; var _default = visitor; -exports.default = _default; \ No newline at end of file +exports.default = _default; + +//# sourceMappingURL=index.js.map diff --git a/node_modules/@babel/helper-environment-visitor/lib/index.js.map b/node_modules/@babel/helper-environment-visitor/lib/index.js.map new file mode 100644 index 000000000..241c3ad50 --- /dev/null +++ b/node_modules/@babel/helper-environment-visitor/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"names":["exports","skipAllButComputedKey","path","skip","node","computed","context","maybeQueue","get","requeueComputedKeyAndDecorators","decorators","decorator","visitor","FunctionParent","isArrowFunctionExpression","isMethod","Property","isObjectProperty","_default","default"],"sources":["../src/index.ts"],"sourcesContent":["import type { NodePath, Visitor } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\n\nif (!process.env.BABEL_8_BREAKING) {\n if (!USE_ESM) {\n if (!IS_STANDALONE) {\n // eslint-disable-next-line no-restricted-globals\n exports.skipAllButComputedKey = function skipAllButComputedKey(\n path: NodePath,\n ) {\n path.skip();\n if (path.node.computed) {\n // requeue the computed key\n path.context.maybeQueue(path.get(\"key\"));\n }\n };\n }\n }\n}\n\nexport function requeueComputedKeyAndDecorators(\n path: NodePath,\n) {\n const { context, node } = path;\n // @ts-expect-error ClassPrivateProperty does not have computed\n if (node.computed) {\n // requeue the computed key\n context.maybeQueue(path.get(\"key\"));\n }\n if (node.decorators) {\n for (const decorator of path.get(\"decorators\")) {\n // requeue the decorators\n context.maybeQueue(decorator);\n }\n }\n}\n\n// environmentVisitor should be used when traversing the whole class and not for specific class elements/methods.\n// For perf reasons, the environmentVisitor might be traversed with `{ noScope: true }`, which means `path.scope` is undefined.\n// Avoid using `path.scope` here\nconst visitor: Visitor = {\n FunctionParent(path) {\n if (path.isArrowFunctionExpression()) {\n // arrows are not skipped because they inherit the context.\n return;\n } else {\n path.skip();\n if (path.isMethod()) {\n requeueComputedKeyAndDecorators(path);\n }\n }\n },\n Property(path) {\n if (path.isObjectProperty()) {\n return;\n }\n path.skip();\n requeueComputedKeyAndDecorators(path);\n },\n};\n\nexport default visitor;\n"],"mappings":";;;;;;;AAGmC;EACnB;IACQ;MAElBA,OAAO,CAACC,qBAAqB,GAAG,SAASA,qBAAqBA,CAC5DC,IAA0C,EAC1C;QACAA,IAAI,CAACC,IAAI,CAAC,CAAC;QACX,IAAID,IAAI,CAACE,IAAI,CAACC,QAAQ,EAAE;UAEtBH,IAAI,CAACI,OAAO,CAACC,UAAU,CAACL,IAAI,CAACM,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1C;MACF,CAAC;IACH;EACF;AACF;AAEO,SAASC,+BAA+BA,CAC7CP,IAAqC,EACrC;EACA,MAAM;IAAEI,OAAO;IAAEF;EAAK,CAAC,GAAGF,IAAI;EAE9B,IAAIE,IAAI,CAACC,QAAQ,EAAE;IAEjBC,OAAO,CAACC,UAAU,CAACL,IAAI,CAACM,GAAG,CAAC,KAAK,CAAC,CAAC;EACrC;EACA,IAAIJ,IAAI,CAACM,UAAU,EAAE;IACnB,KAAK,MAAMC,SAAS,IAAIT,IAAI,CAACM,GAAG,CAAC,YAAY,CAAC,EAAE;MAE9CF,OAAO,CAACC,UAAU,CAACI,SAAS,CAAC;IAC/B;EACF;AACF;AAKA,MAAMC,OAAgB,GAAG;EACvBC,cAAcA,CAACX,IAAI,EAAE;IACnB,IAAIA,IAAI,CAACY,yBAAyB,CAAC,CAAC,EAAE;MAEpC;IACF,CAAC,MAAM;MACLZ,IAAI,CAACC,IAAI,CAAC,CAAC;MACX,IAAID,IAAI,CAACa,QAAQ,CAAC,CAAC,EAAE;QACnBN,+BAA+B,CAACP,IAAI,CAAC;MACvC;IACF;EACF,CAAC;EACDc,QAAQA,CAACd,IAAI,EAAE;IACb,IAAIA,IAAI,CAACe,gBAAgB,CAAC,CAAC,EAAE;MAC3B;IACF;IACAf,IAAI,CAACC,IAAI,CAAC,CAAC;IACXM,+BAA+B,CAACP,IAAI,CAAC;EACvC;AACF,CAAC;AAAC,IAAAgB,QAAA,GAEaN,OAAO;AAAAZ,OAAA,CAAAmB,OAAA,GAAAD,QAAA"} \ No newline at end of file diff --git a/node_modules/@babel/helper-environment-visitor/package.json b/node_modules/@babel/helper-environment-visitor/package.json index df55f7caf..6827809e6 100644 --- a/node_modules/@babel/helper-environment-visitor/package.json +++ b/node_modules/@babel/helper-environment-visitor/package.json @@ -1,6 +1,6 @@ { "name": "@babel/helper-environment-visitor", - "version": "7.18.9", + "version": "7.22.5", "description": "Helper visitor to only visit nodes in the current 'this' context", "repository": { "type": "git", @@ -18,8 +18,8 @@ "./package.json": "./package.json" }, "devDependencies": { - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" diff --git a/node_modules/@babel/helper-explode-assignable-expression/README.md b/node_modules/@babel/helper-explode-assignable-expression/README.md deleted file mode 100644 index 31b1e916f..000000000 --- a/node_modules/@babel/helper-explode-assignable-expression/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# @babel/helper-explode-assignable-expression - -> Helper function to explode an assignable expression - -See our website [@babel/helper-explode-assignable-expression](https://babeljs.io/docs/en/babel-helper-explode-assignable-expression) for more information. - -## Install - -Using npm: - -```sh -npm install --save @babel/helper-explode-assignable-expression -``` - -or using yarn: - -```sh -yarn add @babel/helper-explode-assignable-expression -``` diff --git a/node_modules/@babel/helper-explode-assignable-expression/package.json b/node_modules/@babel/helper-explode-assignable-expression/package.json deleted file mode 100644 index 1a3a71152..000000000 --- a/node_modules/@babel/helper-explode-assignable-expression/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "@babel/helper-explode-assignable-expression", - "version": "7.18.6", - "description": "Helper function to explode an assignable expression", - "repository": { - "type": "git", - "url": "https://github.com/babel/babel.git", - "directory": "packages/babel-helper-explode-assignable-expression" - }, - "homepage": "https://babel.dev/docs/en/next/babel-helper-explode-assignable-expression", - "license": "MIT", - "publishConfig": { - "access": "public" - }, - "main": "./lib/index.js", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "devDependencies": { - "@babel/traverse": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "author": "The Babel Team (https://babel.dev/team)", - "type": "commonjs" -} \ No newline at end of file diff --git a/node_modules/@babel/helper-function-name/lib/index.js.map b/node_modules/@babel/helper-function-name/lib/index.js.map index 4043586b9..4a8c04bbd 100644 --- a/node_modules/@babel/helper-function-name/lib/index.js.map +++ b/node_modules/@babel/helper-function-name/lib/index.js.map @@ -1 +1 @@ -{"version":3,"names":["NOT_LOCAL_BINDING","cloneNode","identifier","isAssignmentExpression","isAssignmentPattern","isFunction","isIdentifier","isLiteral","isNullLiteral","isObjectMethod","isObjectProperty","isRegExpLiteral","isRestElement","isTemplateLiteral","isVariableDeclarator","toBindingIdentifierName","getFunctionArity","node","count","params","findIndex","param","length","buildPropertyMethodAssignmentWrapper","template","statement","buildGeneratorPropertyMethodAssignmentWrapper","visitor","path","state","name","localDeclar","scope","getBindingIdentifier","outerDeclar","selfReference","stop","getNameFromLiteralId","id","pattern","flags","quasis","map","quasi","value","raw","join","undefined","wrap","method","hasBinding","hasGlobal","rename","build","generator","FUNCTION","FUNCTION_ID","FUNCTION_KEY","generateUidIdentifier","expression","callee","body","i","len","push","getProgramParent","references","visit","selfAssignment","binding","getOwnBinding","kind","traverse","parent","localBinding","supportUnicodeId","computed","key","getBinding","constant","operator","left","test","newId"],"sources":["../src/index.ts"],"sourcesContent":["import template from \"@babel/template\";\nimport {\n NOT_LOCAL_BINDING,\n cloneNode,\n identifier,\n isAssignmentExpression,\n isAssignmentPattern,\n isFunction,\n isIdentifier,\n isLiteral,\n isNullLiteral,\n isObjectMethod,\n isObjectProperty,\n isRegExpLiteral,\n isRestElement,\n isTemplateLiteral,\n isVariableDeclarator,\n toBindingIdentifierName,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type { NodePath, Scope, Visitor } from \"@babel/traverse\";\n\nfunction getFunctionArity(node: t.Function): number {\n const count = node.params.findIndex(\n param => isAssignmentPattern(param) || isRestElement(param),\n );\n return count === -1 ? node.params.length : count;\n}\n\nconst buildPropertyMethodAssignmentWrapper = template.statement(`\n (function (FUNCTION_KEY) {\n function FUNCTION_ID() {\n return FUNCTION_KEY.apply(this, arguments);\n }\n\n FUNCTION_ID.toString = function () {\n return FUNCTION_KEY.toString();\n }\n\n return FUNCTION_ID;\n })(FUNCTION)\n`);\n\nconst buildGeneratorPropertyMethodAssignmentWrapper = template.statement(`\n (function (FUNCTION_KEY) {\n function* FUNCTION_ID() {\n return yield* FUNCTION_KEY.apply(this, arguments);\n }\n\n FUNCTION_ID.toString = function () {\n return FUNCTION_KEY.toString();\n };\n\n return FUNCTION_ID;\n })(FUNCTION)\n`);\n\ntype State = {\n name: string;\n outerDeclar: t.Identifier;\n selfAssignment: boolean;\n selfReference: boolean;\n};\n\nconst visitor: Visitor = {\n \"ReferencedIdentifier|BindingIdentifier\"(\n path: NodePath,\n state,\n ) {\n // check if this node matches our function id\n if (path.node.name !== state.name) return;\n\n // check that we don't have a local variable declared as that removes the need\n // for the wrapper\n const localDeclar = path.scope.getBindingIdentifier(state.name);\n if (localDeclar !== state.outerDeclar) return;\n\n state.selfReference = true;\n path.stop();\n },\n};\n\nfunction getNameFromLiteralId(id: t.Literal) {\n if (isNullLiteral(id)) {\n return \"null\";\n }\n\n if (isRegExpLiteral(id)) {\n return `_${id.pattern}_${id.flags}`;\n }\n\n if (isTemplateLiteral(id)) {\n return id.quasis.map(quasi => quasi.value.raw).join(\"\");\n }\n\n if (id.value !== undefined) {\n return id.value + \"\";\n }\n\n return \"\";\n}\n\nfunction wrap(\n state: State,\n method: t.FunctionExpression | t.Class,\n id: t.Identifier,\n scope: Scope,\n) {\n if (state.selfReference) {\n if (scope.hasBinding(id.name) && !scope.hasGlobal(id.name)) {\n // we can just munge the local binding\n scope.rename(id.name);\n } else {\n // we don't currently support wrapping class expressions\n if (!isFunction(method)) return;\n\n // need to add a wrapper since we can't change the references\n let build = buildPropertyMethodAssignmentWrapper;\n if (method.generator) {\n build = buildGeneratorPropertyMethodAssignmentWrapper;\n }\n\n const template = (\n build({\n FUNCTION: method,\n FUNCTION_ID: id,\n FUNCTION_KEY: scope.generateUidIdentifier(id.name),\n }) as t.ExpressionStatement\n ).expression as t.CallExpression;\n\n // shim in dummy params to retain function arity, if you try to read the\n // source then you'll get the original since it's proxied so it's all good\n const params = (\n (template.callee as t.FunctionExpression).body\n .body[0] as any as t.FunctionExpression\n ).params;\n\n for (let i = 0, len = getFunctionArity(method); i < len; i++) {\n params.push(scope.generateUidIdentifier(\"x\"));\n }\n\n return template;\n }\n }\n\n method.id = id;\n scope.getProgramParent().references[id.name] = true;\n}\n\nfunction visit(\n node: t.FunctionExpression | t.Class,\n name: string,\n scope: Scope,\n) {\n const state: State = {\n selfAssignment: false,\n selfReference: false,\n outerDeclar: scope.getBindingIdentifier(name),\n name: name,\n };\n\n // check to see if we have a local binding of the id we're setting inside of\n // the function, this is important as there are caveats associated\n\n const binding = scope.getOwnBinding(name);\n\n if (binding) {\n if (binding.kind === \"param\") {\n // safari will blow up in strict mode with code like:\n //\n // let t = function t(t) {};\n //\n // with the error:\n //\n // Cannot declare a parameter named 't' as it shadows the name of a\n // strict mode function.\n //\n // this isn't to the spec and they've invented this behaviour which is\n // **extremely** annoying so we avoid setting the name if it has a param\n // with the same id\n state.selfReference = true;\n } else {\n // otherwise it's defined somewhere in scope like:\n //\n // let t = function () {\n // let t = 2;\n // };\n //\n // so we can safely just set the id and move along as it shadows the\n // bound function id\n }\n } else if (state.outerDeclar || scope.hasGlobal(name)) {\n scope.traverse(node, visitor, state);\n }\n\n return state;\n}\n\n/**\n * Add id to function/class expression inferred from the AST\n *\n * @export\n * @template N The unnamed expression type\n * @param {Object} nodePathLike The NodePath-like input\n * @param {N} nodePathLike.node an AST node\n * @param {NodePath[\"parent\"]} [nodePathLike.parent] The parent of the AST node\n * @param {Scope} nodePathLike.scope The scope associated to the AST node\n * @param {t.LVal | t.StringLiteral | t.NumericLiteral | t.BigIntLiteral} [nodePathLike.id] the fallback naming source when the helper\n * can not infer the function name from the AST\n * @param {boolean} [localBinding=false] whether a name could shadow a self-reference (e.g. converting arrow function)\n * @param {boolean} [supportUnicodeId=false] whether the compilation target supports unicodeId (non-BMP characters) or not\n * @returns {(N | t.CallExpression | void)}\n * - modified node when name can be inferred,\n * - an IIFE when `node` contains a binding shadowing the inferred function name (e.g. `let f = function (f) {}`),\n * - `void` when `node` has `id` property or the helper can not inferred the name or the inferred name contains non-BMP characters that is not supported by current target\n */\nexport default function (\n {\n node,\n parent,\n scope,\n id,\n }: {\n node: N;\n parent?: NodePath[\"parent\"];\n scope: Scope;\n id?: t.LVal | t.StringLiteral | t.NumericLiteral | t.BigIntLiteral;\n },\n localBinding = false,\n supportUnicodeId = false,\n): N | t.CallExpression | void {\n // has an `id` so we don't need to infer one\n if (node.id) return;\n\n if (\n (isObjectProperty(parent) || isObjectMethod(parent, { kind: \"method\" })) &&\n (!parent.computed || isLiteral(parent.key))\n ) {\n // { foo() {} };\n id = parent.key as\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral;\n } else if (isVariableDeclarator(parent)) {\n // let foo = function () {};\n id = parent.id;\n\n // but not \"let foo = () => {};\" being converted to function expression\n if (isIdentifier(id) && !localBinding) {\n const binding = scope.parent.getBinding(id.name);\n if (\n binding &&\n binding.constant &&\n scope.getBinding(id.name) === binding\n ) {\n // always going to reference this method\n node.id = cloneNode(id);\n // @ts-expect-error Fixme: avoid mutating AST nodes\n node.id[NOT_LOCAL_BINDING] = true;\n return;\n }\n }\n } else if (isAssignmentExpression(parent, { operator: \"=\" })) {\n // foo = function () {};\n id = parent.left;\n } else if (!id) {\n return;\n }\n\n let name;\n if (id && isLiteral(id)) {\n name = getNameFromLiteralId(id);\n } else if (id && isIdentifier(id)) {\n name = id.name;\n }\n\n if (name === undefined) {\n return;\n }\n\n if (!supportUnicodeId && isFunction(node) && /[\\uD800-\\uDFFF]/.test(name)) {\n return;\n }\n\n name = toBindingIdentifierName(name);\n const newId = identifier(name);\n\n // The id shouldn't be considered a local binding to the function because\n // we are simply trying to set the function name and not actually create\n // a local binding.\n // @ts-expect-error Fixme: avoid mutating AST nodes\n newId[NOT_LOCAL_BINDING] = true;\n\n const state = visit(node, name, scope);\n return wrap(state, node, newId, scope) || node;\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_template","require","_t","NOT_LOCAL_BINDING","cloneNode","identifier","isAssignmentExpression","isAssignmentPattern","isFunction","isIdentifier","isLiteral","isNullLiteral","isObjectMethod","isObjectProperty","isRegExpLiteral","isRestElement","isTemplateLiteral","isVariableDeclarator","toBindingIdentifierName","getFunctionArity","node","count","params","findIndex","param","length","buildPropertyMethodAssignmentWrapper","template","statement","buildGeneratorPropertyMethodAssignmentWrapper","visitor","ReferencedIdentifier|BindingIdentifier","path","state","name","localDeclar","scope","getBindingIdentifier","outerDeclar","selfReference","stop","getNameFromLiteralId","id","pattern","flags","quasis","map","quasi","value","raw","join","undefined","wrap","method","hasBinding","hasGlobal","rename","build","generator","FUNCTION","FUNCTION_ID","FUNCTION_KEY","generateUidIdentifier","expression","callee","body","i","len","push","getProgramParent","references","visit","selfAssignment","binding","getOwnBinding","kind","traverse","_default","parent","localBinding","supportUnicodeId","computed","key","getBinding","constant","operator","left","test","newId"],"sources":["../src/index.ts"],"sourcesContent":["import template from \"@babel/template\";\nimport {\n NOT_LOCAL_BINDING,\n cloneNode,\n identifier,\n isAssignmentExpression,\n isAssignmentPattern,\n isFunction,\n isIdentifier,\n isLiteral,\n isNullLiteral,\n isObjectMethod,\n isObjectProperty,\n isRegExpLiteral,\n isRestElement,\n isTemplateLiteral,\n isVariableDeclarator,\n toBindingIdentifierName,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type { NodePath, Scope, Visitor } from \"@babel/traverse\";\n\nfunction getFunctionArity(node: t.Function): number {\n const count = node.params.findIndex(\n param => isAssignmentPattern(param) || isRestElement(param),\n );\n return count === -1 ? node.params.length : count;\n}\n\nconst buildPropertyMethodAssignmentWrapper = template.statement(`\n (function (FUNCTION_KEY) {\n function FUNCTION_ID() {\n return FUNCTION_KEY.apply(this, arguments);\n }\n\n FUNCTION_ID.toString = function () {\n return FUNCTION_KEY.toString();\n }\n\n return FUNCTION_ID;\n })(FUNCTION)\n`);\n\nconst buildGeneratorPropertyMethodAssignmentWrapper = template.statement(`\n (function (FUNCTION_KEY) {\n function* FUNCTION_ID() {\n return yield* FUNCTION_KEY.apply(this, arguments);\n }\n\n FUNCTION_ID.toString = function () {\n return FUNCTION_KEY.toString();\n };\n\n return FUNCTION_ID;\n })(FUNCTION)\n`);\n\ntype State = {\n name: string;\n outerDeclar: t.Identifier;\n selfAssignment: boolean;\n selfReference: boolean;\n};\n\nconst visitor: Visitor = {\n \"ReferencedIdentifier|BindingIdentifier\"(\n path: NodePath,\n state,\n ) {\n // check if this node matches our function id\n if (path.node.name !== state.name) return;\n\n // check that we don't have a local variable declared as that removes the need\n // for the wrapper\n const localDeclar = path.scope.getBindingIdentifier(state.name);\n if (localDeclar !== state.outerDeclar) return;\n\n state.selfReference = true;\n path.stop();\n },\n};\n\nfunction getNameFromLiteralId(id: t.Literal) {\n if (isNullLiteral(id)) {\n return \"null\";\n }\n\n if (isRegExpLiteral(id)) {\n return `_${id.pattern}_${id.flags}`;\n }\n\n if (isTemplateLiteral(id)) {\n return id.quasis.map(quasi => quasi.value.raw).join(\"\");\n }\n\n if (id.value !== undefined) {\n return id.value + \"\";\n }\n\n return \"\";\n}\n\nfunction wrap(\n state: State,\n method: t.FunctionExpression | t.Class,\n id: t.Identifier,\n scope: Scope,\n) {\n if (state.selfReference) {\n if (scope.hasBinding(id.name) && !scope.hasGlobal(id.name)) {\n // we can just munge the local binding\n scope.rename(id.name);\n } else {\n // we don't currently support wrapping class expressions\n if (!isFunction(method)) return;\n\n // need to add a wrapper since we can't change the references\n let build = buildPropertyMethodAssignmentWrapper;\n if (method.generator) {\n build = buildGeneratorPropertyMethodAssignmentWrapper;\n }\n\n const template = (\n build({\n FUNCTION: method,\n FUNCTION_ID: id,\n FUNCTION_KEY: scope.generateUidIdentifier(id.name),\n }) as t.ExpressionStatement\n ).expression as t.CallExpression;\n\n // shim in dummy params to retain function arity, if you try to read the\n // source then you'll get the original since it's proxied so it's all good\n const params = (\n (template.callee as t.FunctionExpression).body\n .body[0] as any as t.FunctionExpression\n ).params;\n\n for (let i = 0, len = getFunctionArity(method); i < len; i++) {\n params.push(scope.generateUidIdentifier(\"x\"));\n }\n\n return template;\n }\n }\n\n method.id = id;\n scope.getProgramParent().references[id.name] = true;\n}\n\nfunction visit(\n node: t.FunctionExpression | t.Class,\n name: string,\n scope: Scope,\n) {\n const state: State = {\n selfAssignment: false,\n selfReference: false,\n outerDeclar: scope.getBindingIdentifier(name),\n name: name,\n };\n\n // check to see if we have a local binding of the id we're setting inside of\n // the function, this is important as there are caveats associated\n\n const binding = scope.getOwnBinding(name);\n\n if (binding) {\n if (binding.kind === \"param\") {\n // safari will blow up in strict mode with code like:\n //\n // let t = function t(t) {};\n //\n // with the error:\n //\n // Cannot declare a parameter named 't' as it shadows the name of a\n // strict mode function.\n //\n // this isn't to the spec and they've invented this behaviour which is\n // **extremely** annoying so we avoid setting the name if it has a param\n // with the same id\n state.selfReference = true;\n } else {\n // otherwise it's defined somewhere in scope like:\n //\n // let t = function () {\n // let t = 2;\n // };\n //\n // so we can safely just set the id and move along as it shadows the\n // bound function id\n }\n } else if (state.outerDeclar || scope.hasGlobal(name)) {\n scope.traverse(node, visitor, state);\n }\n\n return state;\n}\n\n/**\n * Add id to function/class expression inferred from the AST\n *\n * @export\n * @template N The unnamed expression type\n * @param {Object} nodePathLike The NodePath-like input\n * @param {N} nodePathLike.node an AST node\n * @param {NodePath[\"parent\"]} [nodePathLike.parent] The parent of the AST node\n * @param {Scope} nodePathLike.scope The scope associated to the AST node\n * @param {t.LVal | t.StringLiteral | t.NumericLiteral | t.BigIntLiteral} [nodePathLike.id] the fallback naming source when the helper\n * can not infer the function name from the AST\n * @param {boolean} [localBinding=false] whether a name could shadow a self-reference (e.g. converting arrow function)\n * @param {boolean} [supportUnicodeId=false] whether the compilation target supports unicodeId (non-BMP characters) or not\n * @returns {(N | t.CallExpression | void)}\n * - modified node when name can be inferred,\n * - an IIFE when `node` contains a binding shadowing the inferred function name (e.g. `let f = function (f) {}`),\n * - `void` when `node` has `id` property or the helper can not inferred the name or the inferred name contains non-BMP characters that is not supported by current target\n */\nexport default function (\n {\n node,\n parent,\n scope,\n id,\n }: {\n node: N;\n parent?: NodePath[\"parent\"];\n scope: Scope;\n id?: t.LVal | t.StringLiteral | t.NumericLiteral | t.BigIntLiteral;\n },\n localBinding = false,\n supportUnicodeId = false,\n): N | t.CallExpression | void {\n // has an `id` so we don't need to infer one\n if (node.id) return;\n\n if (\n (isObjectProperty(parent) || isObjectMethod(parent, { kind: \"method\" })) &&\n (!parent.computed || isLiteral(parent.key))\n ) {\n // { foo() {} };\n id = parent.key as\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral;\n } else if (isVariableDeclarator(parent)) {\n // let foo = function () {};\n id = parent.id;\n\n // but not \"let foo = () => {};\" being converted to function expression\n if (isIdentifier(id) && !localBinding) {\n const binding = scope.parent.getBinding(id.name);\n if (\n binding &&\n binding.constant &&\n scope.getBinding(id.name) === binding\n ) {\n // always going to reference this method\n node.id = cloneNode(id);\n // @ts-expect-error Fixme: avoid mutating AST nodes\n node.id[NOT_LOCAL_BINDING] = true;\n return;\n }\n }\n } else if (isAssignmentExpression(parent, { operator: \"=\" })) {\n // foo = function () {};\n id = parent.left;\n } else if (!id) {\n return;\n }\n\n let name;\n if (id && isLiteral(id)) {\n name = getNameFromLiteralId(id);\n } else if (id && isIdentifier(id)) {\n name = id.name;\n }\n\n if (name === undefined) {\n return;\n }\n\n if (!supportUnicodeId && isFunction(node) && /[\\uD800-\\uDFFF]/.test(name)) {\n return;\n }\n\n name = toBindingIdentifierName(name);\n const newId = identifier(name);\n\n // The id shouldn't be considered a local binding to the function because\n // we are simply trying to set the function name and not actually create\n // a local binding.\n // @ts-expect-error Fixme: avoid mutating AST nodes\n newId[NOT_LOCAL_BINDING] = true;\n\n const state = visit(node, name, scope);\n return wrap(state, node, newId, scope) || node;\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/helper-function-name/package.json b/node_modules/@babel/helper-function-name/package.json index ce65d6bcf..1b26608d8 100644 --- a/node_modules/@babel/helper-function-name/package.json +++ b/node_modules/@babel/helper-function-name/package.json @@ -1,6 +1,6 @@ { "name": "@babel/helper-function-name", - "version": "7.21.0", + "version": "7.22.5", "description": "Helper function to change the property 'name' of every function", "repository": { "type": "git", @@ -14,8 +14,8 @@ }, "main": "./lib/index.js", "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" diff --git a/node_modules/@babel/helper-hoist-variables/lib/index.js b/node_modules/@babel/helper-hoist-variables/lib/index.js index 31fb8470e..06c4d5c8d 100644 --- a/node_modules/@babel/helper-hoist-variables/lib/index.js +++ b/node_modules/@babel/helper-hoist-variables/lib/index.js @@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.default = hoistVariables; - var _t = require("@babel/types"); - const { assignmentExpression, expressionStatement, @@ -16,29 +14,23 @@ const visitor = { Scope(path, state) { if (state.kind === "let") path.skip(); }, - FunctionParent(path) { path.skip(); }, - VariableDeclaration(path, state) { if (state.kind && path.node.kind !== state.kind) return; const nodes = []; const declarations = path.get("declarations"); let firstId; - for (const declar of declarations) { firstId = declar.node.id; - if (declar.node.init) { nodes.push(expressionStatement(assignmentExpression("=", declar.node.id, declar.node.init))); } - for (const name of Object.keys(declar.getBindingIdentifiers())) { state.emit(identifier(name), name, declar.node.init !== null); } } - if (path.parentPath.isFor({ left: path.node })) { @@ -47,12 +39,12 @@ const visitor = { path.replaceWithMultiple(nodes); } } - }; - function hoistVariables(path, emit, kind = "var") { path.traverse(visitor, { kind, emit }); -} \ No newline at end of file +} + +//# sourceMappingURL=index.js.map diff --git a/node_modules/@babel/helper-hoist-variables/lib/index.js.map b/node_modules/@babel/helper-hoist-variables/lib/index.js.map new file mode 100644 index 000000000..2761e3c5b --- /dev/null +++ b/node_modules/@babel/helper-hoist-variables/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_t","require","assignmentExpression","expressionStatement","identifier","visitor","Scope","path","state","kind","skip","FunctionParent","VariableDeclaration","node","nodes","declarations","get","firstId","declar","id","init","push","name","Object","keys","getBindingIdentifiers","emit","parentPath","isFor","left","replaceWith","replaceWithMultiple","hoistVariables","traverse"],"sources":["../src/index.ts"],"sourcesContent":["import {\n assignmentExpression,\n expressionStatement,\n identifier,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type { NodePath, Visitor } from \"@babel/traverse\";\n\nexport type EmitFunction = (\n id: t.Identifier,\n idName: string,\n hasInit: boolean,\n) => any;\n\ntype State = {\n kind: \"var\" | \"let\";\n emit: EmitFunction;\n};\n\ntype Unpacked = T extends (infer U)[] ? U : T;\n\nconst visitor: Visitor = {\n Scope(path, state) {\n if (state.kind === \"let\") path.skip();\n },\n\n FunctionParent(path) {\n path.skip();\n },\n\n VariableDeclaration(path, state) {\n if (state.kind && path.node.kind !== state.kind) return;\n\n const nodes = [];\n\n const declarations: ReadonlyArray<\n NodePath>\n > = path.get(\"declarations\");\n let firstId;\n\n for (const declar of declarations) {\n firstId = declar.node.id;\n\n if (declar.node.init) {\n nodes.push(\n expressionStatement(\n assignmentExpression(\"=\", declar.node.id, declar.node.init),\n ),\n );\n }\n\n for (const name of Object.keys(declar.getBindingIdentifiers())) {\n state.emit(identifier(name), name, declar.node.init !== null);\n }\n }\n\n // for (var i in test)\n if (path.parentPath.isFor({ left: path.node })) {\n path.replaceWith(firstId);\n } else {\n path.replaceWithMultiple(nodes);\n }\n },\n};\n\nexport default function hoistVariables(\n path: NodePath,\n emit: EmitFunction,\n kind: \"var\" | \"let\" = \"var\",\n) {\n path.traverse(visitor, { kind, emit });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,EAAA,GAAAC,OAAA;AAIsB;EAHpBC,oBAAoB;EACpBC,mBAAmB;EACnBC;AAAU,IAAAJ,EAAA;AAkBZ,MAAMK,OAAuB,GAAG;EAC9BC,KAAKA,CAACC,IAAI,EAAEC,KAAK,EAAE;IACjB,IAAIA,KAAK,CAACC,IAAI,KAAK,KAAK,EAAEF,IAAI,CAACG,IAAI,CAAC,CAAC;EACvC,CAAC;EAEDC,cAAcA,CAACJ,IAAI,EAAE;IACnBA,IAAI,CAACG,IAAI,CAAC,CAAC;EACb,CAAC;EAEDE,mBAAmBA,CAACL,IAAI,EAAEC,KAAK,EAAE;IAC/B,IAAIA,KAAK,CAACC,IAAI,IAAIF,IAAI,CAACM,IAAI,CAACJ,IAAI,KAAKD,KAAK,CAACC,IAAI,EAAE;IAEjD,MAAMK,KAAK,GAAG,EAAE;IAEhB,MAAMC,YAEL,GAAGR,IAAI,CAACS,GAAG,CAAC,cAAc,CAAC;IAC5B,IAAIC,OAAO;IAEX,KAAK,MAAMC,MAAM,IAAIH,YAAY,EAAE;MACjCE,OAAO,GAAGC,MAAM,CAACL,IAAI,CAACM,EAAE;MAExB,IAAID,MAAM,CAACL,IAAI,CAACO,IAAI,EAAE;QACpBN,KAAK,CAACO,IAAI,CACRlB,mBAAmB,CACjBD,oBAAoB,CAAC,GAAG,EAAEgB,MAAM,CAACL,IAAI,CAACM,EAAE,EAAED,MAAM,CAACL,IAAI,CAACO,IAAI,CAC5D,CACF,CAAC;MACH;MAEA,KAAK,MAAME,IAAI,IAAIC,MAAM,CAACC,IAAI,CAACN,MAAM,CAACO,qBAAqB,CAAC,CAAC,CAAC,EAAE;QAC9DjB,KAAK,CAACkB,IAAI,CAACtB,UAAU,CAACkB,IAAI,CAAC,EAAEA,IAAI,EAAEJ,MAAM,CAACL,IAAI,CAACO,IAAI,KAAK,IAAI,CAAC;MAC/D;IACF;IAGA,IAAIb,IAAI,CAACoB,UAAU,CAACC,KAAK,CAAC;MAAEC,IAAI,EAAEtB,IAAI,CAACM;IAAK,CAAC,CAAC,EAAE;MAC9CN,IAAI,CAACuB,WAAW,CAACb,OAAO,CAAC;IAC3B,CAAC,MAAM;MACLV,IAAI,CAACwB,mBAAmB,CAACjB,KAAK,CAAC;IACjC;EACF;AACF,CAAC;AAEc,SAASkB,cAAcA,CACpCzB,IAAc,EACdmB,IAAkB,EAClBjB,IAAmB,GAAG,KAAK,EAC3B;EACAF,IAAI,CAAC0B,QAAQ,CAAC5B,OAAO,EAAE;IAAEI,IAAI;IAAEiB;EAAK,CAAC,CAAC;AACxC"} \ No newline at end of file diff --git a/node_modules/@babel/helper-hoist-variables/package.json b/node_modules/@babel/helper-hoist-variables/package.json index 0d9253002..b7a901055 100644 --- a/node_modules/@babel/helper-hoist-variables/package.json +++ b/node_modules/@babel/helper-hoist-variables/package.json @@ -1,6 +1,6 @@ { "name": "@babel/helper-hoist-variables", - "version": "7.18.6", + "version": "7.22.5", "description": "Helper function to hoist variables", "repository": { "type": "git", @@ -14,11 +14,11 @@ }, "main": "./lib/index.js", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "TODO": "The @babel/traverse dependency is only needed for the NodePath TS type. We can consider exporting it from @babel/core.", "devDependencies": { - "@babel/traverse": "^7.18.6" + "@babel/traverse": "^7.22.5" }, "engines": { "node": ">=6.9.0" diff --git a/node_modules/@babel/helper-member-expression-to-functions/lib/index.js.map b/node_modules/@babel/helper-member-expression-to-functions/lib/index.js.map index ad24db8f4..71a57fc60 100644 --- a/node_modules/@babel/helper-member-expression-to-functions/lib/index.js.map +++ b/node_modules/@babel/helper-member-expression-to-functions/lib/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../src/util.ts","../src/index.ts"],"sourcesContent":["import type { NodePath } from \"@babel/traverse\";\n\n/**\n * Test if a NodePath will be cast to boolean when evaluated.\n *\n * @example\n * // returns true\n * const nodePathAQDotB = NodePath(\"if (a?.#b) {}\").get(\"test\"); // a?.#b\n * willPathCastToBoolean(nodePathAQDotB)\n * @example\n * // returns false\n * willPathCastToBoolean(NodePath(\"a?.#b\"))\n * @todo Respect transparent expression wrappers\n * @see {@link packages/babel-plugin-proposal-optional-chaining/src/util.js}\n * @param {NodePath} path\n * @returns {boolean}\n */\nexport function willPathCastToBoolean(path: NodePath): boolean {\n const maybeWrapped = path;\n const { node, parentPath } = maybeWrapped;\n if (parentPath.isLogicalExpression()) {\n const { operator, right } = parentPath.node;\n if (\n operator === \"&&\" ||\n operator === \"||\" ||\n (operator === \"??\" && node === right)\n ) {\n return willPathCastToBoolean(parentPath);\n }\n }\n if (parentPath.isSequenceExpression()) {\n const { expressions } = parentPath.node;\n if (expressions[expressions.length - 1] === node) {\n return willPathCastToBoolean(parentPath);\n } else {\n // if it is in the middle of a sequence expression, we don't\n // care the return value so just cast to boolean for smaller\n // output\n return true;\n }\n }\n return (\n parentPath.isConditional({ test: node }) ||\n parentPath.isUnaryExpression({ operator: \"!\" }) ||\n parentPath.isLoop({ test: node })\n );\n}\n","import type { NodePath, Visitor } from \"@babel/traverse\";\nimport {\n LOGICAL_OPERATORS,\n arrowFunctionExpression,\n assignmentExpression,\n binaryExpression,\n booleanLiteral,\n callExpression,\n cloneNode,\n conditionalExpression,\n identifier,\n isMemberExpression,\n isOptionalCallExpression,\n isOptionalMemberExpression,\n isUpdateExpression,\n logicalExpression,\n memberExpression,\n nullLiteral,\n optionalCallExpression,\n optionalMemberExpression,\n sequenceExpression,\n updateExpression,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport { willPathCastToBoolean } from \"./util\";\n\nclass AssignmentMemoiser {\n private _map: WeakMap;\n constructor() {\n this._map = new WeakMap();\n }\n\n has(key: t.Expression) {\n return this._map.has(key);\n }\n\n get(key: t.Expression) {\n if (!this.has(key)) return;\n\n const record = this._map.get(key);\n const { value } = record;\n\n record.count--;\n if (record.count === 0) {\n // The `count` access is the outermost function call (hopefully), so it\n // does the assignment.\n return assignmentExpression(\"=\", value, key);\n }\n return value;\n }\n\n set(key: t.Expression, value: t.Identifier, count: number) {\n return this._map.set(key, { count, value });\n }\n}\n\nfunction toNonOptional(\n path: NodePath,\n base: t.Expression,\n): t.Expression {\n const { node } = path;\n if (isOptionalMemberExpression(node)) {\n return memberExpression(base, node.property, node.computed);\n }\n\n if (path.isOptionalCallExpression()) {\n const callee = path.get(\"callee\");\n if (path.node.optional && callee.isOptionalMemberExpression()) {\n // object must be a conditional expression because the optional private access in object has been transformed\n const object = callee.node.object as t.ConditionalExpression;\n const context = path.scope.maybeGenerateMemoised(object);\n callee\n .get(\"object\")\n .replaceWith(assignmentExpression(\"=\", context, object));\n\n return callExpression(memberExpression(base, identifier(\"call\")), [\n context,\n ...path.node.arguments,\n ]);\n }\n\n return callExpression(base, path.node.arguments);\n }\n\n return path.node;\n}\n\n// Determines if the current path is in a detached tree. This can happen when\n// we are iterating on a path, and replace an ancestor with a new node. Babel\n// doesn't always stop traversing the old node tree, and that can cause\n// inconsistencies.\nfunction isInDetachedTree(path: NodePath) {\n while (path) {\n if (path.isProgram()) break;\n\n const { parentPath, container, listKey } = path;\n const parentNode = parentPath.node;\n if (listKey) {\n if (\n container !==\n // @ts-expect-error listKey must be a valid parent node key\n parentNode[listKey]\n ) {\n return true;\n }\n } else {\n if (container !== parentNode) return true;\n }\n\n path = parentPath;\n }\n\n return false;\n}\n\ntype Member = NodePath;\n\nconst handle = {\n memoise() {\n // noop.\n },\n\n handle(this: HandlerState, member: Member, noDocumentAll: boolean) {\n const { node, parent, parentPath, scope } = member;\n\n if (member.isOptionalMemberExpression()) {\n // Transforming optional chaining requires we replace ancestors.\n if (isInDetachedTree(member)) return;\n\n // We're looking for the end of _this_ optional chain, which is actually\n // the \"rightmost\" property access of the chain. This is because\n // everything up to that property access is \"optional\".\n //\n // Let's take the case of `FOO?.BAR.baz?.qux`, with `FOO?.BAR` being our\n // member. The \"end\" to most users would be `qux` property access.\n // Everything up to it could be skipped if it `FOO` were nullish. But\n // actually, we can consider the `baz` access to be the end. So we're\n // looking for the nearest optional chain that is `optional: true`.\n const endPath = member.find(({ node, parent }) => {\n if (isOptionalMemberExpression(parent)) {\n // We need to check `parent.object` since we could be inside the\n // computed expression of a `bad?.[FOO?.BAR]`. In this case, the\n // endPath is the `FOO?.BAR` member itself.\n return parent.optional || parent.object !== node;\n }\n if (isOptionalCallExpression(parent)) {\n // Checking `parent.callee` since we could be in the arguments, eg\n // `bad?.(FOO?.BAR)`.\n // Also skip `FOO?.BAR` in `FOO?.BAR?.()` since we need to transform the optional call to ensure proper this\n return (\n // In FOO?.#BAR?.(), endPath points the optional call expression so we skip FOO?.#BAR\n (node !== member.node && parent.optional) || parent.callee !== node\n );\n }\n return true;\n }) as NodePath;\n\n // Replace `function (a, x = a.b?.#c) {}` to `function (a, x = (() => a.b?.#c)() ){}`\n // so the temporary variable can be injected in correct scope\n // This can be further optimized to avoid unnecessary IIFE\n if (scope.path.isPattern()) {\n endPath.replaceWith(\n // The injected member will be queued and eventually transformed when visited\n callExpression(arrowFunctionExpression([], endPath.node), []),\n );\n return;\n }\n\n const willEndPathCastToBoolean = willPathCastToBoolean(endPath);\n\n const rootParentPath = endPath.parentPath;\n if (\n rootParentPath.isUpdateExpression({ argument: node }) ||\n rootParentPath.isAssignmentExpression({ left: node })\n ) {\n throw member.buildCodeFrameError(`can't handle assignment`);\n }\n const isDeleteOperation = rootParentPath.isUnaryExpression({\n operator: \"delete\",\n });\n if (\n isDeleteOperation &&\n endPath.isOptionalMemberExpression() &&\n endPath.get(\"property\").isPrivateName()\n ) {\n // @babel/parser will throw error on `delete obj?.#x`.\n // This error serves as fallback when `delete obj?.#x` is constructed from babel types\n throw member.buildCodeFrameError(\n `can't delete a private class element`,\n );\n }\n\n // Now, we're looking for the start of this optional chain, which is\n // optional to the left of this member.\n //\n // Let's take the case of `foo?.bar?.baz.QUX?.BAM`, with `QUX?.BAM` being\n // our member. The \"start\" to most users would be `foo` object access.\n // But actually, we can consider the `bar` access to be the start. So\n // we're looking for the nearest optional chain that is `optional: true`,\n // which is guaranteed to be somewhere in the object/callee tree.\n let startingOptional: NodePath = member;\n for (;;) {\n if (startingOptional.isOptionalMemberExpression()) {\n if (startingOptional.node.optional) break;\n startingOptional = startingOptional.get(\"object\");\n continue;\n } else if (startingOptional.isOptionalCallExpression()) {\n if (startingOptional.node.optional) break;\n startingOptional = startingOptional.get(\"callee\");\n continue;\n }\n // prevent infinite loop: unreachable if the AST is well-formed\n throw new Error(\n `Internal error: unexpected ${startingOptional.node.type}`,\n );\n }\n\n // @ts-expect-error isOptionalMemberExpression does not work with NodePath union\n const startingNode = startingOptional.isOptionalMemberExpression()\n ? // @ts-expect-error isOptionalMemberExpression does not work with NodePath union\n startingOptional.node.object\n : // @ts-expect-error isOptionalMemberExpression does not work with NodePath union\n startingOptional.node.callee;\n const baseNeedsMemoised = scope.maybeGenerateMemoised(startingNode);\n const baseRef = baseNeedsMemoised ?? startingNode;\n\n // Compute parentIsOptionalCall before `startingOptional` is replaced\n // as `node` may refer to `startingOptional.node` before replaced.\n const parentIsOptionalCall = parentPath.isOptionalCallExpression({\n callee: node,\n });\n // here we use a function to wrap `parentIsOptionalCall` to get type\n // for parent, do not use it anywhere else\n // See https://github.com/microsoft/TypeScript/issues/10421\n const isOptionalCall = (\n parent: t.Node,\n ): parent is t.OptionalCallExpression => parentIsOptionalCall;\n // if parentIsCall is true, it implies that node.extra.parenthesized is always true\n const parentIsCall = parentPath.isCallExpression({ callee: node });\n startingOptional.replaceWith(toNonOptional(startingOptional, baseRef));\n if (isOptionalCall(parent)) {\n if (parent.optional) {\n parentPath.replaceWith(this.optionalCall(member, parent.arguments));\n } else {\n parentPath.replaceWith(this.call(member, parent.arguments));\n }\n } else if (parentIsCall) {\n // `(a?.#b)()` to `(a == null ? void 0 : a.#b.bind(a))()`\n member.replaceWith(this.boundGet(member));\n } else if (\n this.delete &&\n parentPath.isUnaryExpression({ operator: \"delete\" })\n ) {\n parentPath.replaceWith(this.delete(member));\n } else {\n member.replaceWith(this.get(member));\n }\n\n let regular: t.Expression = member.node;\n for (let current: NodePath = member; current !== endPath; ) {\n const parentPath = current.parentPath as NodePath;\n // skip transforming `Foo.#BAR?.call(FOO)`\n if (\n parentPath === endPath &&\n isOptionalCall(parent) &&\n parent.optional\n ) {\n regular = parentPath.node;\n break;\n }\n regular = toNonOptional(parentPath, regular);\n current = parentPath;\n }\n\n let context: t.Identifier;\n const endParentPath = endPath.parentPath as NodePath;\n if (\n isMemberExpression(regular) &&\n endParentPath.isOptionalCallExpression({\n callee: endPath.node,\n optional: true,\n })\n ) {\n const { object } = regular;\n context = member.scope.maybeGenerateMemoised(object);\n if (context) {\n regular.object = assignmentExpression(\n \"=\",\n context,\n // object must not be Super when `context` is an identifier\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n object as t.Expression,\n );\n }\n }\n\n let replacementPath: NodePath = endPath;\n if (isDeleteOperation) {\n replacementPath = endParentPath;\n regular = endParentPath.node;\n }\n\n const baseMemoised = baseNeedsMemoised\n ? assignmentExpression(\n \"=\",\n // When base needs memoised, the baseRef must be an identifier\n cloneNode(baseRef as t.Identifier),\n cloneNode(startingNode),\n )\n : cloneNode(baseRef);\n\n if (willEndPathCastToBoolean) {\n let nonNullishCheck;\n if (noDocumentAll) {\n nonNullishCheck = binaryExpression(\"!=\", baseMemoised, nullLiteral());\n } else {\n nonNullishCheck = logicalExpression(\n \"&&\",\n binaryExpression(\"!==\", baseMemoised, nullLiteral()),\n binaryExpression(\n \"!==\",\n cloneNode(baseRef),\n scope.buildUndefinedNode(),\n ),\n );\n }\n replacementPath.replaceWith(\n logicalExpression(\"&&\", nonNullishCheck, regular),\n );\n } else {\n let nullishCheck;\n if (noDocumentAll) {\n nullishCheck = binaryExpression(\"==\", baseMemoised, nullLiteral());\n } else {\n nullishCheck = logicalExpression(\n \"||\",\n binaryExpression(\"===\", baseMemoised, nullLiteral()),\n binaryExpression(\n \"===\",\n cloneNode(baseRef),\n scope.buildUndefinedNode(),\n ),\n );\n }\n\n replacementPath.replaceWith(\n conditionalExpression(\n nullishCheck,\n isDeleteOperation\n ? booleanLiteral(true)\n : scope.buildUndefinedNode(),\n regular,\n ),\n );\n }\n\n // context and isDeleteOperation can not be both truthy\n if (context) {\n const endParent = endParentPath.node as t.OptionalCallExpression;\n endParentPath.replaceWith(\n optionalCallExpression(\n optionalMemberExpression(\n endParent.callee,\n identifier(\"call\"),\n false,\n true,\n ),\n [cloneNode(context), ...endParent.arguments],\n false,\n ),\n );\n }\n\n return;\n }\n\n // MEMBER++ -> _set(MEMBER, (ref = _get(MEMBER), ref2 = ref++, ref)), ref2\n // ++MEMBER -> _set(MEMBER, (ref = _get(MEMBER), ++ref))\n if (isUpdateExpression(parent, { argument: node })) {\n if (this.simpleSet) {\n member.replaceWith(this.simpleSet(member));\n return;\n }\n\n const { operator, prefix } = parent;\n\n // Give the state handler a chance to memoise the member, since we'll\n // reference it twice. The second access (the set) should do the memo\n // assignment.\n this.memoise(member, 2);\n\n const ref = scope.generateUidIdentifierBasedOnNode(node);\n scope.push({ id: ref });\n\n const seq: t.Expression[] = [\n // ref = _get(MEMBER)\n assignmentExpression(\"=\", cloneNode(ref), this.get(member)),\n ];\n\n if (prefix) {\n seq.push(updateExpression(operator, cloneNode(ref), prefix));\n\n // (ref = _get(MEMBER), ++ref)\n const value = sequenceExpression(seq);\n parentPath.replaceWith(this.set(member, value));\n\n return;\n } else {\n const ref2 = scope.generateUidIdentifierBasedOnNode(node);\n scope.push({ id: ref2 });\n\n seq.push(\n assignmentExpression(\n \"=\",\n cloneNode(ref2),\n updateExpression(operator, cloneNode(ref), prefix),\n ),\n cloneNode(ref),\n );\n\n // (ref = _get(MEMBER), ref2 = ref++, ref)\n const value = sequenceExpression(seq);\n parentPath.replaceWith(\n sequenceExpression([this.set(member, value), cloneNode(ref2)]),\n );\n\n return;\n }\n }\n\n // MEMBER = VALUE -> _set(MEMBER, VALUE)\n // MEMBER += VALUE -> _set(MEMBER, _get(MEMBER) + VALUE)\n // MEMBER ??= VALUE -> _get(MEMBER) ?? _set(MEMBER, VALUE)\n if (parentPath.isAssignmentExpression({ left: node })) {\n if (this.simpleSet) {\n member.replaceWith(this.simpleSet(member));\n return;\n }\n\n const { operator, right: value } = parentPath.node;\n\n if (operator === \"=\") {\n parentPath.replaceWith(this.set(member, value));\n } else {\n const operatorTrunc = operator.slice(0, -1);\n if (LOGICAL_OPERATORS.includes(operatorTrunc)) {\n // Give the state handler a chance to memoise the member, since we'll\n // reference it twice. The first access (the get) should do the memo\n // assignment.\n this.memoise(member, 1);\n parentPath.replaceWith(\n logicalExpression(\n operatorTrunc as t.LogicalExpression[\"operator\"],\n this.get(member),\n this.set(member, value),\n ),\n );\n } else {\n // Here, the second access (the set) is evaluated first.\n this.memoise(member, 2);\n parentPath.replaceWith(\n this.set(\n member,\n binaryExpression(\n operatorTrunc as t.BinaryExpression[\"operator\"],\n this.get(member),\n value,\n ),\n ),\n );\n }\n }\n return;\n }\n\n // MEMBER(ARGS) -> _call(MEMBER, ARGS)\n if (parentPath.isCallExpression({ callee: node })) {\n parentPath.replaceWith(this.call(member, parentPath.node.arguments));\n return;\n }\n\n // MEMBER?.(ARGS) -> _optionalCall(MEMBER, ARGS)\n if (parentPath.isOptionalCallExpression({ callee: node })) {\n // Replace `function (a, x = a.b.#c?.()) {}` to `function (a, x = (() => a.b.#c?.())() ){}`\n // so the temporary variable can be injected in correct scope\n // This can be further optimized to avoid unnecessary IIFE\n if (scope.path.isPattern()) {\n parentPath.replaceWith(\n // The injected member will be queued and eventually transformed when visited\n callExpression(arrowFunctionExpression([], parentPath.node), []),\n );\n return;\n }\n parentPath.replaceWith(\n this.optionalCall(member, parentPath.node.arguments),\n );\n return;\n }\n\n // delete MEMBER -> _delete(MEMBER)\n if (this.delete && parentPath.isUnaryExpression({ operator: \"delete\" })) {\n parentPath.replaceWith(this.delete(member));\n return;\n }\n\n // for (MEMBER of ARR)\n // for (MEMBER in ARR)\n // { KEY: MEMBER } = OBJ -> { KEY: _destructureSet(MEMBER) } = OBJ\n // { KEY: MEMBER = _VALUE } = OBJ -> { KEY: _destructureSet(MEMBER) = _VALUE } = OBJ\n // {...MEMBER} -> {..._destructureSet(MEMBER)}\n //\n // [MEMBER] = ARR -> [_destructureSet(MEMBER)] = ARR\n // [MEMBER = _VALUE] = ARR -> [_destructureSet(MEMBER) = _VALUE] = ARR\n // [...MEMBER] -> [..._destructureSet(MEMBER)]\n if (\n // for (MEMBER of ARR)\n // for (MEMBER in ARR)\n parentPath.isForXStatement({ left: node }) ||\n // { KEY: MEMBER } = OBJ\n (parentPath.isObjectProperty({ value: node }) &&\n parentPath.parentPath.isObjectPattern()) ||\n // { KEY: MEMBER = _VALUE } = OBJ\n (parentPath.isAssignmentPattern({ left: node }) &&\n parentPath.parentPath.isObjectProperty({ value: parent }) &&\n parentPath.parentPath.parentPath.isObjectPattern()) ||\n // [MEMBER] = ARR\n parentPath.isArrayPattern() ||\n // [MEMBER = _VALUE] = ARR\n (parentPath.isAssignmentPattern({ left: node }) &&\n parentPath.parentPath.isArrayPattern()) ||\n // {...MEMBER}\n // [...MEMBER]\n parentPath.isRestElement()\n ) {\n member.replaceWith(this.destructureSet(member));\n return;\n }\n\n if (parentPath.isTaggedTemplateExpression()) {\n // MEMBER -> _get(MEMBER).bind(this)\n member.replaceWith(this.boundGet(member));\n } else {\n // MEMBER -> _get(MEMBER)\n member.replaceWith(this.get(member));\n }\n },\n};\n\nexport interface Handler {\n memoise?(\n this: HandlerState & State,\n member: Member,\n count: number,\n ): void;\n destructureSet(\n this: HandlerState & State,\n member: Member,\n ): t.Expression;\n boundGet(this: HandlerState & State, member: Member): t.Expression;\n simpleSet?(this: HandlerState & State, member: Member): t.Expression;\n get(this: HandlerState & State, member: Member): t.Expression;\n set(\n this: HandlerState & State,\n member: Member,\n value: t.Expression,\n ): t.Expression;\n call(\n this: HandlerState & State,\n member: Member,\n args: t.CallExpression[\"arguments\"],\n ): t.Expression;\n optionalCall(\n this: HandlerState & State,\n member: Member,\n args: t.OptionalCallExpression[\"arguments\"],\n ): t.Expression;\n // TODO(Babel 8): Consider making this required, since `.get` doesn't\n // really work as a fallback for `.delete`\n delete?(this: HandlerState & State, member: Member): t.Expression;\n}\n\nexport interface HandlerState extends Handler {\n handle(\n this: HandlerState & State,\n member: Member,\n noDocumentAll?: boolean,\n ): void;\n memoiser: AssignmentMemoiser;\n}\n\n// We do not provide a default traversal visitor\n// Instead, caller passes one, and must call `state.handle` on the members\n// it wishes to be transformed.\n// Additionally, the caller must pass in a state object with at least\n// get, set, and call methods.\n// Optionally, a memoise method may be defined on the state, which will be\n// called when the member is a self-referential update.\nexport default function memberExpressionToFunctions(\n path: NodePath,\n visitor: Visitor>,\n state: Handler & CustomState,\n) {\n path.traverse(visitor, {\n ...handle,\n ...state,\n memoiser: new AssignmentMemoiser(),\n });\n}\n"],"names":["willPathCastToBoolean","path","maybeWrapped","node","parentPath","isLogicalExpression","operator","right","isSequenceExpression","expressions","length","isConditional","test","isUnaryExpression","isLoop","LOGICAL_OPERATORS","arrowFunctionExpression","assignmentExpression","binaryExpression","booleanLiteral","callExpression","cloneNode","conditionalExpression","identifier","isMemberExpression","isOptionalCallExpression","isOptionalMemberExpression","isUpdateExpression","logicalExpression","memberExpression","nullLiteral","optionalCallExpression","optionalMemberExpression","sequenceExpression","updateExpression","_t","AssignmentMemoiser","constructor","_map","WeakMap","has","key","get","record","value","count","set","toNonOptional","base","property","computed","callee","optional","object","context","scope","maybeGenerateMemoised","replaceWith","arguments","isInDetachedTree","isProgram","container","listKey","parentNode","handle","memoise","member","noDocumentAll","parent","endPath","find","isPattern","willEndPathCastToBoolean","rootParentPath","argument","isAssignmentExpression","left","buildCodeFrameError","isDeleteOperation","isPrivateName","startingOptional","Error","type","startingNode","baseNeedsMemoised","baseRef","parentIsOptionalCall","isOptionalCall","parentIsCall","isCallExpression","optionalCall","call","boundGet","delete","regular","current","endParentPath","replacementPath","baseMemoised","nonNullishCheck","buildUndefinedNode","nullishCheck","endParent","simpleSet","prefix","ref","generateUidIdentifierBasedOnNode","push","id","seq","ref2","operatorTrunc","slice","includes","isForXStatement","isObjectProperty","isObjectPattern","isAssignmentPattern","isArrayPattern","isRestElement","destructureSet","isTaggedTemplateExpression","memberExpressionToFunctions","visitor","state","traverse","memoiser"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../src/util.ts","../src/index.ts"],"sourcesContent":["import type { NodePath } from \"@babel/traverse\";\n\n/**\n * Test if a NodePath will be cast to boolean when evaluated.\n *\n * @example\n * // returns true\n * const nodePathAQDotB = NodePath(\"if (a?.#b) {}\").get(\"test\"); // a?.#b\n * willPathCastToBoolean(nodePathAQDotB)\n * @example\n * // returns false\n * willPathCastToBoolean(NodePath(\"a?.#b\"))\n * @todo Respect transparent expression wrappers\n * @see {@link packages/babel-plugin-transform-optional-chaining/src/util.js}\n * @param {NodePath} path\n * @returns {boolean}\n */\nexport function willPathCastToBoolean(path: NodePath): boolean {\n const maybeWrapped = path;\n const { node, parentPath } = maybeWrapped;\n if (parentPath.isLogicalExpression()) {\n const { operator, right } = parentPath.node;\n if (\n operator === \"&&\" ||\n operator === \"||\" ||\n (operator === \"??\" && node === right)\n ) {\n return willPathCastToBoolean(parentPath);\n }\n }\n if (parentPath.isSequenceExpression()) {\n const { expressions } = parentPath.node;\n if (expressions[expressions.length - 1] === node) {\n return willPathCastToBoolean(parentPath);\n } else {\n // if it is in the middle of a sequence expression, we don't\n // care the return value so just cast to boolean for smaller\n // output\n return true;\n }\n }\n return (\n parentPath.isConditional({ test: node }) ||\n parentPath.isUnaryExpression({ operator: \"!\" }) ||\n parentPath.isLoop({ test: node })\n );\n}\n","import type { NodePath, Visitor } from \"@babel/traverse\";\nimport {\n LOGICAL_OPERATORS,\n arrowFunctionExpression,\n assignmentExpression,\n binaryExpression,\n booleanLiteral,\n callExpression,\n cloneNode,\n conditionalExpression,\n identifier,\n isMemberExpression,\n isOptionalCallExpression,\n isOptionalMemberExpression,\n isUpdateExpression,\n logicalExpression,\n memberExpression,\n nullLiteral,\n optionalCallExpression,\n optionalMemberExpression,\n sequenceExpression,\n updateExpression,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport { willPathCastToBoolean } from \"./util\";\n\nclass AssignmentMemoiser {\n private _map: WeakMap;\n constructor() {\n this._map = new WeakMap();\n }\n\n has(key: t.Expression) {\n return this._map.has(key);\n }\n\n get(key: t.Expression) {\n if (!this.has(key)) return;\n\n const record = this._map.get(key);\n const { value } = record;\n\n record.count--;\n if (record.count === 0) {\n // The `count` access is the outermost function call (hopefully), so it\n // does the assignment.\n return assignmentExpression(\"=\", value, key);\n }\n return value;\n }\n\n set(key: t.Expression, value: t.Identifier, count: number) {\n return this._map.set(key, { count, value });\n }\n}\n\nfunction toNonOptional(\n path: NodePath,\n base: t.Expression,\n): t.Expression {\n const { node } = path;\n if (isOptionalMemberExpression(node)) {\n return memberExpression(base, node.property, node.computed);\n }\n\n if (path.isOptionalCallExpression()) {\n const callee = path.get(\"callee\");\n if (path.node.optional && callee.isOptionalMemberExpression()) {\n // object must be a conditional expression because the optional private access in object has been transformed\n const object = callee.node.object as t.ConditionalExpression;\n const context = path.scope.maybeGenerateMemoised(object);\n callee\n .get(\"object\")\n .replaceWith(assignmentExpression(\"=\", context, object));\n\n return callExpression(memberExpression(base, identifier(\"call\")), [\n context,\n ...path.node.arguments,\n ]);\n }\n\n return callExpression(base, path.node.arguments);\n }\n\n return path.node;\n}\n\n// Determines if the current path is in a detached tree. This can happen when\n// we are iterating on a path, and replace an ancestor with a new node. Babel\n// doesn't always stop traversing the old node tree, and that can cause\n// inconsistencies.\nfunction isInDetachedTree(path: NodePath) {\n while (path) {\n if (path.isProgram()) break;\n\n const { parentPath, container, listKey } = path;\n const parentNode = parentPath.node;\n if (listKey) {\n if (\n container !==\n // @ts-expect-error listKey must be a valid parent node key\n parentNode[listKey]\n ) {\n return true;\n }\n } else {\n if (container !== parentNode) return true;\n }\n\n path = parentPath;\n }\n\n return false;\n}\n\ntype Member = NodePath;\n\nconst handle = {\n memoise() {\n // noop.\n },\n\n handle(this: HandlerState, member: Member, noDocumentAll: boolean) {\n const { node, parent, parentPath, scope } = member;\n\n if (member.isOptionalMemberExpression()) {\n // Transforming optional chaining requires we replace ancestors.\n if (isInDetachedTree(member)) return;\n\n // We're looking for the end of _this_ optional chain, which is actually\n // the \"rightmost\" property access of the chain. This is because\n // everything up to that property access is \"optional\".\n //\n // Let's take the case of `FOO?.BAR.baz?.qux`, with `FOO?.BAR` being our\n // member. The \"end\" to most users would be `qux` property access.\n // Everything up to it could be skipped if it `FOO` were nullish. But\n // actually, we can consider the `baz` access to be the end. So we're\n // looking for the nearest optional chain that is `optional: true`.\n const endPath = member.find(({ node, parent }) => {\n if (isOptionalMemberExpression(parent)) {\n // We need to check `parent.object` since we could be inside the\n // computed expression of a `bad?.[FOO?.BAR]`. In this case, the\n // endPath is the `FOO?.BAR` member itself.\n return parent.optional || parent.object !== node;\n }\n if (isOptionalCallExpression(parent)) {\n // Checking `parent.callee` since we could be in the arguments, eg\n // `bad?.(FOO?.BAR)`.\n // Also skip `FOO?.BAR` in `FOO?.BAR?.()` since we need to transform the optional call to ensure proper this\n return (\n // In FOO?.#BAR?.(), endPath points the optional call expression so we skip FOO?.#BAR\n (node !== member.node && parent.optional) || parent.callee !== node\n );\n }\n return true;\n }) as NodePath;\n\n // Replace `function (a, x = a.b?.#c) {}` to `function (a, x = (() => a.b?.#c)() ){}`\n // so the temporary variable can be injected in correct scope\n // This can be further optimized to avoid unnecessary IIFE\n if (scope.path.isPattern()) {\n endPath.replaceWith(\n // The injected member will be queued and eventually transformed when visited\n callExpression(arrowFunctionExpression([], endPath.node), []),\n );\n return;\n }\n\n const willEndPathCastToBoolean = willPathCastToBoolean(endPath);\n\n const rootParentPath = endPath.parentPath;\n if (\n rootParentPath.isUpdateExpression({ argument: node }) ||\n rootParentPath.isAssignmentExpression({ left: node })\n ) {\n throw member.buildCodeFrameError(`can't handle assignment`);\n }\n const isDeleteOperation = rootParentPath.isUnaryExpression({\n operator: \"delete\",\n });\n if (\n isDeleteOperation &&\n endPath.isOptionalMemberExpression() &&\n endPath.get(\"property\").isPrivateName()\n ) {\n // @babel/parser will throw error on `delete obj?.#x`.\n // This error serves as fallback when `delete obj?.#x` is constructed from babel types\n throw member.buildCodeFrameError(\n `can't delete a private class element`,\n );\n }\n\n // Now, we're looking for the start of this optional chain, which is\n // optional to the left of this member.\n //\n // Let's take the case of `foo?.bar?.baz.QUX?.BAM`, with `QUX?.BAM` being\n // our member. The \"start\" to most users would be `foo` object access.\n // But actually, we can consider the `bar` access to be the start. So\n // we're looking for the nearest optional chain that is `optional: true`,\n // which is guaranteed to be somewhere in the object/callee tree.\n let startingOptional: NodePath = member;\n for (;;) {\n if (startingOptional.isOptionalMemberExpression()) {\n if (startingOptional.node.optional) break;\n startingOptional = startingOptional.get(\"object\");\n continue;\n } else if (startingOptional.isOptionalCallExpression()) {\n if (startingOptional.node.optional) break;\n startingOptional = startingOptional.get(\"callee\");\n continue;\n }\n // prevent infinite loop: unreachable if the AST is well-formed\n throw new Error(\n `Internal error: unexpected ${startingOptional.node.type}`,\n );\n }\n\n // @ts-expect-error isOptionalMemberExpression does not work with NodePath union\n const startingNode = startingOptional.isOptionalMemberExpression()\n ? // @ts-expect-error isOptionalMemberExpression does not work with NodePath union\n startingOptional.node.object\n : // @ts-expect-error isOptionalMemberExpression does not work with NodePath union\n startingOptional.node.callee;\n const baseNeedsMemoised = scope.maybeGenerateMemoised(startingNode);\n const baseRef = baseNeedsMemoised ?? startingNode;\n\n // Compute parentIsOptionalCall before `startingOptional` is replaced\n // as `node` may refer to `startingOptional.node` before replaced.\n const parentIsOptionalCall = parentPath.isOptionalCallExpression({\n callee: node,\n });\n // here we use a function to wrap `parentIsOptionalCall` to get type\n // for parent, do not use it anywhere else\n // See https://github.com/microsoft/TypeScript/issues/10421\n const isOptionalCall = (\n parent: t.Node,\n ): parent is t.OptionalCallExpression => parentIsOptionalCall;\n // if parentIsCall is true, it implies that node.extra.parenthesized is always true\n const parentIsCall = parentPath.isCallExpression({ callee: node });\n startingOptional.replaceWith(toNonOptional(startingOptional, baseRef));\n if (isOptionalCall(parent)) {\n if (parent.optional) {\n parentPath.replaceWith(this.optionalCall(member, parent.arguments));\n } else {\n parentPath.replaceWith(this.call(member, parent.arguments));\n }\n } else if (parentIsCall) {\n // `(a?.#b)()` to `(a == null ? void 0 : a.#b.bind(a))()`\n member.replaceWith(this.boundGet(member));\n } else if (\n (process.env.BABEL_8_BREAKING || this.delete) &&\n parentPath.isUnaryExpression({ operator: \"delete\" })\n ) {\n parentPath.replaceWith(this.delete(member));\n } else {\n member.replaceWith(this.get(member));\n }\n\n let regular: t.Expression = member.node;\n for (let current: NodePath = member; current !== endPath; ) {\n const parentPath = current.parentPath as NodePath;\n // skip transforming `Foo.#BAR?.call(FOO)`\n if (\n parentPath === endPath &&\n isOptionalCall(parent) &&\n parent.optional\n ) {\n regular = parentPath.node;\n break;\n }\n regular = toNonOptional(parentPath, regular);\n current = parentPath;\n }\n\n let context: t.Identifier;\n const endParentPath = endPath.parentPath as NodePath;\n if (\n isMemberExpression(regular) &&\n endParentPath.isOptionalCallExpression({\n callee: endPath.node,\n optional: true,\n })\n ) {\n const { object } = regular;\n context = member.scope.maybeGenerateMemoised(object);\n if (context) {\n regular.object = assignmentExpression(\n \"=\",\n context,\n // object must not be Super when `context` is an identifier\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n object as t.Expression,\n );\n }\n }\n\n let replacementPath: NodePath = endPath;\n if (isDeleteOperation) {\n replacementPath = endParentPath;\n regular = endParentPath.node;\n }\n\n const baseMemoised = baseNeedsMemoised\n ? assignmentExpression(\n \"=\",\n // When base needs memoised, the baseRef must be an identifier\n cloneNode(baseRef as t.Identifier),\n cloneNode(startingNode),\n )\n : cloneNode(baseRef);\n\n if (willEndPathCastToBoolean) {\n let nonNullishCheck;\n if (noDocumentAll) {\n nonNullishCheck = binaryExpression(\"!=\", baseMemoised, nullLiteral());\n } else {\n nonNullishCheck = logicalExpression(\n \"&&\",\n binaryExpression(\"!==\", baseMemoised, nullLiteral()),\n binaryExpression(\n \"!==\",\n cloneNode(baseRef),\n scope.buildUndefinedNode(),\n ),\n );\n }\n replacementPath.replaceWith(\n logicalExpression(\"&&\", nonNullishCheck, regular),\n );\n } else {\n let nullishCheck;\n if (noDocumentAll) {\n nullishCheck = binaryExpression(\"==\", baseMemoised, nullLiteral());\n } else {\n nullishCheck = logicalExpression(\n \"||\",\n binaryExpression(\"===\", baseMemoised, nullLiteral()),\n binaryExpression(\n \"===\",\n cloneNode(baseRef),\n scope.buildUndefinedNode(),\n ),\n );\n }\n\n replacementPath.replaceWith(\n conditionalExpression(\n nullishCheck,\n isDeleteOperation\n ? booleanLiteral(true)\n : scope.buildUndefinedNode(),\n regular,\n ),\n );\n }\n\n // context and isDeleteOperation can not be both truthy\n if (context) {\n const endParent = endParentPath.node as t.OptionalCallExpression;\n endParentPath.replaceWith(\n optionalCallExpression(\n optionalMemberExpression(\n endParent.callee,\n identifier(\"call\"),\n false,\n true,\n ),\n [cloneNode(context), ...endParent.arguments],\n false,\n ),\n );\n }\n\n return;\n }\n\n // MEMBER++ -> _set(MEMBER, (ref = _get(MEMBER), ref2 = ref++, ref)), ref2\n // ++MEMBER -> _set(MEMBER, (ref = _get(MEMBER), ++ref))\n if (isUpdateExpression(parent, { argument: node })) {\n if (this.simpleSet) {\n member.replaceWith(this.simpleSet(member));\n return;\n }\n\n const { operator, prefix } = parent;\n\n // Give the state handler a chance to memoise the member, since we'll\n // reference it twice. The second access (the set) should do the memo\n // assignment.\n this.memoise(member, 2);\n\n const ref = scope.generateUidIdentifierBasedOnNode(node);\n scope.push({ id: ref });\n\n const seq: t.Expression[] = [\n // ref = _get(MEMBER)\n assignmentExpression(\"=\", cloneNode(ref), this.get(member)),\n ];\n\n if (prefix) {\n seq.push(updateExpression(operator, cloneNode(ref), prefix));\n\n // (ref = _get(MEMBER), ++ref)\n const value = sequenceExpression(seq);\n parentPath.replaceWith(this.set(member, value));\n\n return;\n } else {\n const ref2 = scope.generateUidIdentifierBasedOnNode(node);\n scope.push({ id: ref2 });\n\n seq.push(\n assignmentExpression(\n \"=\",\n cloneNode(ref2),\n updateExpression(operator, cloneNode(ref), prefix),\n ),\n cloneNode(ref),\n );\n\n // (ref = _get(MEMBER), ref2 = ref++, ref)\n const value = sequenceExpression(seq);\n parentPath.replaceWith(\n sequenceExpression([this.set(member, value), cloneNode(ref2)]),\n );\n\n return;\n }\n }\n\n // MEMBER = VALUE -> _set(MEMBER, VALUE)\n // MEMBER += VALUE -> _set(MEMBER, _get(MEMBER) + VALUE)\n // MEMBER ??= VALUE -> _get(MEMBER) ?? _set(MEMBER, VALUE)\n if (parentPath.isAssignmentExpression({ left: node })) {\n if (this.simpleSet) {\n member.replaceWith(this.simpleSet(member));\n return;\n }\n\n const { operator, right: value } = parentPath.node;\n\n if (operator === \"=\") {\n parentPath.replaceWith(this.set(member, value));\n } else {\n const operatorTrunc = operator.slice(0, -1);\n if (LOGICAL_OPERATORS.includes(operatorTrunc)) {\n // Give the state handler a chance to memoise the member, since we'll\n // reference it twice. The first access (the get) should do the memo\n // assignment.\n this.memoise(member, 1);\n parentPath.replaceWith(\n logicalExpression(\n operatorTrunc as t.LogicalExpression[\"operator\"],\n this.get(member),\n this.set(member, value),\n ),\n );\n } else {\n // Here, the second access (the set) is evaluated first.\n this.memoise(member, 2);\n parentPath.replaceWith(\n this.set(\n member,\n binaryExpression(\n operatorTrunc as t.BinaryExpression[\"operator\"],\n this.get(member),\n value,\n ),\n ),\n );\n }\n }\n return;\n }\n\n // MEMBER(ARGS) -> _call(MEMBER, ARGS)\n if (parentPath.isCallExpression({ callee: node })) {\n parentPath.replaceWith(this.call(member, parentPath.node.arguments));\n return;\n }\n\n // MEMBER?.(ARGS) -> _optionalCall(MEMBER, ARGS)\n if (parentPath.isOptionalCallExpression({ callee: node })) {\n // Replace `function (a, x = a.b.#c?.()) {}` to `function (a, x = (() => a.b.#c?.())() ){}`\n // so the temporary variable can be injected in correct scope\n // This can be further optimized to avoid unnecessary IIFE\n if (scope.path.isPattern()) {\n parentPath.replaceWith(\n // The injected member will be queued and eventually transformed when visited\n callExpression(arrowFunctionExpression([], parentPath.node), []),\n );\n return;\n }\n parentPath.replaceWith(\n this.optionalCall(member, parentPath.node.arguments),\n );\n return;\n }\n\n // delete MEMBER -> _delete(MEMBER)\n if (\n (process.env.BABEL_8_BREAKING || this.delete) &&\n parentPath.isUnaryExpression({ operator: \"delete\" })\n ) {\n parentPath.replaceWith(this.delete(member));\n return;\n }\n\n // for (MEMBER of ARR)\n // for (MEMBER in ARR)\n // { KEY: MEMBER } = OBJ -> { KEY: _destructureSet(MEMBER) } = OBJ\n // { KEY: MEMBER = _VALUE } = OBJ -> { KEY: _destructureSet(MEMBER) = _VALUE } = OBJ\n // {...MEMBER} -> {..._destructureSet(MEMBER)}\n //\n // [MEMBER] = ARR -> [_destructureSet(MEMBER)] = ARR\n // [MEMBER = _VALUE] = ARR -> [_destructureSet(MEMBER) = _VALUE] = ARR\n // [...MEMBER] -> [..._destructureSet(MEMBER)]\n if (\n // for (MEMBER of ARR)\n // for (MEMBER in ARR)\n parentPath.isForXStatement({ left: node }) ||\n // { KEY: MEMBER } = OBJ\n (parentPath.isObjectProperty({ value: node }) &&\n parentPath.parentPath.isObjectPattern()) ||\n // { KEY: MEMBER = _VALUE } = OBJ\n (parentPath.isAssignmentPattern({ left: node }) &&\n parentPath.parentPath.isObjectProperty({ value: parent }) &&\n parentPath.parentPath.parentPath.isObjectPattern()) ||\n // [MEMBER] = ARR\n parentPath.isArrayPattern() ||\n // [MEMBER = _VALUE] = ARR\n (parentPath.isAssignmentPattern({ left: node }) &&\n parentPath.parentPath.isArrayPattern()) ||\n // {...MEMBER}\n // [...MEMBER]\n parentPath.isRestElement()\n ) {\n member.replaceWith(this.destructureSet(member));\n return;\n }\n\n if (parentPath.isTaggedTemplateExpression()) {\n // MEMBER -> _get(MEMBER).bind(this)\n member.replaceWith(this.boundGet(member));\n } else {\n // MEMBER -> _get(MEMBER)\n member.replaceWith(this.get(member));\n }\n },\n};\n\nexport interface Handler {\n memoise?(\n this: HandlerState & State,\n member: Member,\n count: number,\n ): void;\n destructureSet(\n this: HandlerState & State,\n member: Member,\n ): t.Expression;\n boundGet(this: HandlerState & State, member: Member): t.Expression;\n simpleSet?(this: HandlerState & State, member: Member): t.Expression;\n get(this: HandlerState & State, member: Member): t.Expression;\n set(\n this: HandlerState & State,\n member: Member,\n value: t.Expression,\n ): t.Expression;\n call(\n this: HandlerState & State,\n member: Member,\n args: t.CallExpression[\"arguments\"],\n ): t.Expression;\n optionalCall(\n this: HandlerState & State,\n member: Member,\n args: t.OptionalCallExpression[\"arguments\"],\n ): t.Expression;\n delete(this: HandlerState & State, member: Member): t.Expression;\n}\n\nexport interface HandlerState extends Handler {\n handle(\n this: HandlerState & State,\n member: Member,\n noDocumentAll?: boolean,\n ): void;\n memoiser: AssignmentMemoiser;\n}\n\n// We do not provide a default traversal visitor\n// Instead, caller passes one, and must call `state.handle` on the members\n// it wishes to be transformed.\n// Additionally, the caller must pass in a state object with at least\n// get, set, and call methods.\n// Optionally, a memoise method may be defined on the state, which will be\n// called when the member is a self-referential update.\nexport default function memberExpressionToFunctions(\n path: NodePath,\n visitor: Visitor>,\n state: Handler & CustomState,\n) {\n path.traverse(visitor, {\n ...handle,\n ...state,\n memoiser: new AssignmentMemoiser(),\n });\n}\n"],"names":["willPathCastToBoolean","path","maybeWrapped","node","parentPath","isLogicalExpression","operator","right","isSequenceExpression","expressions","length","isConditional","test","isUnaryExpression","isLoop","LOGICAL_OPERATORS","arrowFunctionExpression","assignmentExpression","binaryExpression","booleanLiteral","callExpression","cloneNode","conditionalExpression","identifier","isMemberExpression","isOptionalCallExpression","isOptionalMemberExpression","isUpdateExpression","logicalExpression","memberExpression","nullLiteral","optionalCallExpression","optionalMemberExpression","sequenceExpression","updateExpression","_t","AssignmentMemoiser","constructor","_map","WeakMap","has","key","get","record","value","count","set","toNonOptional","base","property","computed","callee","optional","object","context","scope","maybeGenerateMemoised","replaceWith","arguments","isInDetachedTree","isProgram","container","listKey","parentNode","handle","memoise","member","noDocumentAll","parent","endPath","find","isPattern","willEndPathCastToBoolean","rootParentPath","argument","isAssignmentExpression","left","buildCodeFrameError","isDeleteOperation","isPrivateName","startingOptional","Error","type","startingNode","baseNeedsMemoised","baseRef","parentIsOptionalCall","isOptionalCall","parentIsCall","isCallExpression","optionalCall","call","boundGet","delete","regular","current","endParentPath","replacementPath","baseMemoised","nonNullishCheck","buildUndefinedNode","nullishCheck","endParent","simpleSet","prefix","ref","generateUidIdentifierBasedOnNode","push","id","seq","ref2","operatorTrunc","slice","includes","isForXStatement","isObjectProperty","isObjectPattern","isAssignmentPattern","isArrayPattern","isRestElement","destructureSet","isTaggedTemplateExpression","memberExpressionToFunctions","visitor","state","traverse","Object","assign","memoiser"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/helper-member-expression-to-functions/lib/util.js b/node_modules/@babel/helper-member-expression-to-functions/lib/util.js new file mode 100644 index 000000000..d0c098aa1 --- /dev/null +++ b/node_modules/@babel/helper-member-expression-to-functions/lib/util.js @@ -0,0 +1,41 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.willPathCastToBoolean = willPathCastToBoolean; +function willPathCastToBoolean(path) { + const maybeWrapped = path; + const { + node, + parentPath + } = maybeWrapped; + if (parentPath.isLogicalExpression()) { + const { + operator, + right + } = parentPath.node; + if (operator === "&&" || operator === "||" || operator === "??" && node === right) { + return willPathCastToBoolean(parentPath); + } + } + if (parentPath.isSequenceExpression()) { + const { + expressions + } = parentPath.node; + if (expressions[expressions.length - 1] === node) { + return willPathCastToBoolean(parentPath); + } else { + return true; + } + } + return parentPath.isConditional({ + test: node + }) || parentPath.isUnaryExpression({ + operator: "!" + }) || parentPath.isLoop({ + test: node + }); +} + +//# sourceMappingURL=util.js.map diff --git a/node_modules/@babel/helper-member-expression-to-functions/lib/util.js.map b/node_modules/@babel/helper-member-expression-to-functions/lib/util.js.map new file mode 100644 index 000000000..972355537 --- /dev/null +++ b/node_modules/@babel/helper-member-expression-to-functions/lib/util.js.map @@ -0,0 +1 @@ +{"version":3,"names":["willPathCastToBoolean","path","maybeWrapped","node","parentPath","isLogicalExpression","operator","right","isSequenceExpression","expressions","length","isConditional","test","isUnaryExpression","isLoop"],"sources":["../src/util.ts"],"sourcesContent":["import type { NodePath } from \"@babel/traverse\";\n\n/**\n * Test if a NodePath will be cast to boolean when evaluated.\n *\n * @example\n * // returns true\n * const nodePathAQDotB = NodePath(\"if (a?.#b) {}\").get(\"test\"); // a?.#b\n * willPathCastToBoolean(nodePathAQDotB)\n * @example\n * // returns false\n * willPathCastToBoolean(NodePath(\"a?.#b\"))\n * @todo Respect transparent expression wrappers\n * @see {@link packages/babel-plugin-transform-optional-chaining/src/util.js}\n * @param {NodePath} path\n * @returns {boolean}\n */\nexport function willPathCastToBoolean(path: NodePath): boolean {\n const maybeWrapped = path;\n const { node, parentPath } = maybeWrapped;\n if (parentPath.isLogicalExpression()) {\n const { operator, right } = parentPath.node;\n if (\n operator === \"&&\" ||\n operator === \"||\" ||\n (operator === \"??\" && node === right)\n ) {\n return willPathCastToBoolean(parentPath);\n }\n }\n if (parentPath.isSequenceExpression()) {\n const { expressions } = parentPath.node;\n if (expressions[expressions.length - 1] === node) {\n return willPathCastToBoolean(parentPath);\n } else {\n // if it is in the middle of a sequence expression, we don't\n // care the return value so just cast to boolean for smaller\n // output\n return true;\n }\n }\n return (\n parentPath.isConditional({ test: node }) ||\n parentPath.isUnaryExpression({ operator: \"!\" }) ||\n parentPath.isLoop({ test: node })\n );\n}\n"],"mappings":";;;;;;AAiBO,SAASA,qBAAqBA,CAACC,IAAc,EAAW;EAC7D,MAAMC,YAAY,GAAGD,IAAI;EACzB,MAAM;IAAEE,IAAI;IAAEC;EAAW,CAAC,GAAGF,YAAY;EACzC,IAAIE,UAAU,CAACC,mBAAmB,CAAC,CAAC,EAAE;IACpC,MAAM;MAAEC,QAAQ;MAAEC;IAAM,CAAC,GAAGH,UAAU,CAACD,IAAI;IAC3C,IACEG,QAAQ,KAAK,IAAI,IACjBA,QAAQ,KAAK,IAAI,IAChBA,QAAQ,KAAK,IAAI,IAAIH,IAAI,KAAKI,KAAM,EACrC;MACA,OAAOP,qBAAqB,CAACI,UAAU,CAAC;IAC1C;EACF;EACA,IAAIA,UAAU,CAACI,oBAAoB,CAAC,CAAC,EAAE;IACrC,MAAM;MAAEC;IAAY,CAAC,GAAGL,UAAU,CAACD,IAAI;IACvC,IAAIM,WAAW,CAACA,WAAW,CAACC,MAAM,GAAG,CAAC,CAAC,KAAKP,IAAI,EAAE;MAChD,OAAOH,qBAAqB,CAACI,UAAU,CAAC;IAC1C,CAAC,MAAM;MAIL,OAAO,IAAI;IACb;EACF;EACA,OACEA,UAAU,CAACO,aAAa,CAAC;IAAEC,IAAI,EAAET;EAAK,CAAC,CAAC,IACxCC,UAAU,CAACS,iBAAiB,CAAC;IAAEP,QAAQ,EAAE;EAAI,CAAC,CAAC,IAC/CF,UAAU,CAACU,MAAM,CAAC;IAAEF,IAAI,EAAET;EAAK,CAAC,CAAC;AAErC"} \ No newline at end of file diff --git a/node_modules/@babel/helper-member-expression-to-functions/package.json b/node_modules/@babel/helper-member-expression-to-functions/package.json index 8f1c48974..77aedd631 100644 --- a/node_modules/@babel/helper-member-expression-to-functions/package.json +++ b/node_modules/@babel/helper-member-expression-to-functions/package.json @@ -1,6 +1,6 @@ { "name": "@babel/helper-member-expression-to-functions", - "version": "7.21.0", + "version": "7.22.5", "description": "Helper function to replace certain member expressions with function calls", "repository": { "type": "git", @@ -15,10 +15,10 @@ "main": "./lib/index.js", "author": "The Babel Team (https://babel.dev/team)", "dependencies": { - "@babel/types": "^7.21.0" + "@babel/types": "^7.22.5" }, "devDependencies": { - "@babel/traverse": "^7.21.0" + "@babel/traverse": "^7.22.5" }, "engines": { "node": ">=6.9.0" diff --git a/node_modules/@babel/helper-module-imports/lib/import-builder.js b/node_modules/@babel/helper-module-imports/lib/import-builder.js index 907f6fd2b..b01187f9f 100644 --- a/node_modules/@babel/helper-module-imports/lib/import-builder.js +++ b/node_modules/@babel/helper-module-imports/lib/import-builder.js @@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; - var _assert = require("assert"); - var _t = require("@babel/types"); - const { callExpression, cloneNode, @@ -23,7 +20,6 @@ const { variableDeclaration, variableDeclarator } = _t; - class ImportBuilder { constructor(importedSource, scope, hub) { this._statements = []; @@ -33,132 +29,94 @@ class ImportBuilder { this._hub = hub; this._importedSource = importedSource; } - done() { return { statements: this._statements, resultName: this._resultName }; } - import() { this._statements.push(importDeclaration([], stringLiteral(this._importedSource))); - return this; } - require() { this._statements.push(expressionStatement(callExpression(identifier("require"), [stringLiteral(this._importedSource)]))); - return this; } - namespace(name = "namespace") { const local = this._scope.generateUidIdentifier(name); - const statement = this._statements[this._statements.length - 1]; - _assert(statement.type === "ImportDeclaration"); - _assert(statement.specifiers.length === 0); - statement.specifiers = [importNamespaceSpecifier(local)]; this._resultName = cloneNode(local); return this; } - default(name) { const id = this._scope.generateUidIdentifier(name); - const statement = this._statements[this._statements.length - 1]; - _assert(statement.type === "ImportDeclaration"); - _assert(statement.specifiers.length === 0); - statement.specifiers = [importDefaultSpecifier(id)]; this._resultName = cloneNode(id); return this; } - named(name, importName) { if (importName === "default") return this.default(name); - const id = this._scope.generateUidIdentifier(name); - const statement = this._statements[this._statements.length - 1]; - _assert(statement.type === "ImportDeclaration"); - _assert(statement.specifiers.length === 0); - statement.specifiers = [importSpecifier(id, identifier(importName))]; this._resultName = cloneNode(id); return this; } - var(name) { const id = this._scope.generateUidIdentifier(name); - let statement = this._statements[this._statements.length - 1]; - if (statement.type !== "ExpressionStatement") { _assert(this._resultName); - statement = expressionStatement(this._resultName); - this._statements.push(statement); } - this._statements[this._statements.length - 1] = variableDeclaration("var", [variableDeclarator(id, statement.expression)]); this._resultName = cloneNode(id); return this; } - defaultInterop() { return this._interop(this._hub.addHelper("interopRequireDefault")); } - wildcardInterop() { return this._interop(this._hub.addHelper("interopRequireWildcard")); } - _interop(callee) { const statement = this._statements[this._statements.length - 1]; - if (statement.type === "ExpressionStatement") { statement.expression = callExpression(callee, [statement.expression]); } else if (statement.type === "VariableDeclaration") { _assert(statement.declarations.length === 1); - statement.declarations[0].init = callExpression(callee, [statement.declarations[0].init]); } else { _assert.fail("Unexpected type."); } - return this; } - prop(name) { const statement = this._statements[this._statements.length - 1]; - if (statement.type === "ExpressionStatement") { statement.expression = memberExpression(statement.expression, identifier(name)); } else if (statement.type === "VariableDeclaration") { _assert(statement.declarations.length === 1); - statement.declarations[0].init = memberExpression(statement.declarations[0].init, identifier(name)); } else { _assert.fail("Unexpected type:" + statement.type); } - return this; } - read(name) { this._resultName = memberExpression(this._resultName, identifier(name)); } - } +exports.default = ImportBuilder; -exports.default = ImportBuilder; \ No newline at end of file +//# sourceMappingURL=import-builder.js.map diff --git a/node_modules/@babel/helper-module-imports/lib/import-builder.js.map b/node_modules/@babel/helper-module-imports/lib/import-builder.js.map new file mode 100644 index 000000000..67aeb108e --- /dev/null +++ b/node_modules/@babel/helper-module-imports/lib/import-builder.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_assert","require","_t","callExpression","cloneNode","expressionStatement","identifier","importDeclaration","importDefaultSpecifier","importNamespaceSpecifier","importSpecifier","memberExpression","stringLiteral","variableDeclaration","variableDeclarator","ImportBuilder","constructor","importedSource","scope","hub","_statements","_resultName","_importedSource","_scope","_hub","done","statements","resultName","import","push","namespace","name","local","generateUidIdentifier","statement","length","assert","type","specifiers","default","id","named","importName","var","expression","defaultInterop","_interop","addHelper","wildcardInterop","callee","declarations","init","fail","prop","read","exports"],"sources":["../src/import-builder.ts"],"sourcesContent":["import assert from \"assert\";\nimport {\n callExpression,\n cloneNode,\n expressionStatement,\n identifier,\n importDeclaration,\n importDefaultSpecifier,\n importNamespaceSpecifier,\n importSpecifier,\n memberExpression,\n stringLiteral,\n variableDeclaration,\n variableDeclarator,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type { Scope } from \"@babel/traverse\";\nimport type { File } from \"@babel/core\";\n\n/**\n * A class to track and accumulate mutations to the AST that will eventually\n * output a new require/import statement list.\n */\nexport default class ImportBuilder {\n private _statements: t.Statement[] = [];\n private _resultName: t.Identifier | t.MemberExpression = null;\n\n declare _scope: Scope;\n declare _hub: File[\"hub\"];\n private _importedSource: string;\n\n constructor(importedSource: string, scope: Scope, hub: File[\"hub\"]) {\n this._scope = scope;\n this._hub = hub;\n this._importedSource = importedSource;\n }\n\n done() {\n return {\n statements: this._statements,\n resultName: this._resultName,\n };\n }\n\n import() {\n this._statements.push(\n importDeclaration([], stringLiteral(this._importedSource)),\n );\n return this;\n }\n\n require() {\n this._statements.push(\n expressionStatement(\n callExpression(identifier(\"require\"), [\n stringLiteral(this._importedSource),\n ]),\n ),\n );\n return this;\n }\n\n namespace(name = \"namespace\") {\n const local = this._scope.generateUidIdentifier(name);\n\n const statement = this._statements[this._statements.length - 1];\n assert(statement.type === \"ImportDeclaration\");\n assert(statement.specifiers.length === 0);\n statement.specifiers = [importNamespaceSpecifier(local)];\n this._resultName = cloneNode(local);\n return this;\n }\n default(name: string) {\n const id = this._scope.generateUidIdentifier(name);\n const statement = this._statements[this._statements.length - 1];\n assert(statement.type === \"ImportDeclaration\");\n assert(statement.specifiers.length === 0);\n statement.specifiers = [importDefaultSpecifier(id)];\n this._resultName = cloneNode(id);\n return this;\n }\n named(name: string, importName: string) {\n if (importName === \"default\") return this.default(name);\n\n const id = this._scope.generateUidIdentifier(name);\n const statement = this._statements[this._statements.length - 1];\n assert(statement.type === \"ImportDeclaration\");\n assert(statement.specifiers.length === 0);\n statement.specifiers = [importSpecifier(id, identifier(importName))];\n this._resultName = cloneNode(id);\n return this;\n }\n\n var(name: string) {\n const id = this._scope.generateUidIdentifier(name);\n let statement = this._statements[this._statements.length - 1];\n if (statement.type !== \"ExpressionStatement\") {\n assert(this._resultName);\n statement = expressionStatement(this._resultName);\n this._statements.push(statement);\n }\n this._statements[this._statements.length - 1] = variableDeclaration(\"var\", [\n variableDeclarator(id, statement.expression),\n ]);\n this._resultName = cloneNode(id);\n return this;\n }\n\n defaultInterop() {\n return this._interop(this._hub.addHelper(\"interopRequireDefault\"));\n }\n wildcardInterop() {\n return this._interop(this._hub.addHelper(\"interopRequireWildcard\"));\n }\n\n _interop(callee: t.Expression) {\n const statement = this._statements[this._statements.length - 1];\n if (statement.type === \"ExpressionStatement\") {\n statement.expression = callExpression(callee, [statement.expression]);\n } else if (statement.type === \"VariableDeclaration\") {\n assert(statement.declarations.length === 1);\n statement.declarations[0].init = callExpression(callee, [\n statement.declarations[0].init,\n ]);\n } else {\n assert.fail(\"Unexpected type.\");\n }\n return this;\n }\n\n prop(name: string) {\n const statement = this._statements[this._statements.length - 1];\n if (statement.type === \"ExpressionStatement\") {\n statement.expression = memberExpression(\n statement.expression,\n identifier(name),\n );\n } else if (statement.type === \"VariableDeclaration\") {\n assert(statement.declarations.length === 1);\n statement.declarations[0].init = memberExpression(\n statement.declarations[0].init,\n identifier(name),\n );\n } else {\n assert.fail(\"Unexpected type:\" + statement.type);\n }\n return this;\n }\n\n read(name: string) {\n this._resultName = memberExpression(this._resultName, identifier(name));\n }\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/helper-module-imports/lib/import-injector.js b/node_modules/@babel/helper-module-imports/lib/import-injector.js index cb3bf5985..f1b8b7f17 100644 --- a/node_modules/@babel/helper-module-imports/lib/import-injector.js +++ b/node_modules/@babel/helper-module-imports/lib/import-injector.js @@ -4,20 +4,14 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; - var _assert = require("assert"); - var _t = require("@babel/types"); - var _importBuilder = require("./import-builder"); - var _isModule = require("./is-module"); - const { numericLiteral, sequenceExpression } = _t; - class ImportInjector { constructor(path, importedSource, opts) { this._defaultOpts = { @@ -35,46 +29,35 @@ class ImportInjector { this._hub = programPath.hub; this._defaultOpts = this._applyDefaults(importedSource, opts, true); } - addDefault(importedSourceIn, opts) { return this.addNamed("default", importedSourceIn, opts); } - addNamed(importName, importedSourceIn, opts) { _assert(typeof importName === "string"); - return this._generateImport(this._applyDefaults(importedSourceIn, opts), importName); } - addNamespace(importedSourceIn, opts) { return this._generateImport(this._applyDefaults(importedSourceIn, opts), null); } - addSideEffect(importedSourceIn, opts) { return this._generateImport(this._applyDefaults(importedSourceIn, opts), void 0); } - _applyDefaults(importedSource, opts, isInit = false) { let newOpts; - if (typeof importedSource === "string") { newOpts = Object.assign({}, this._defaultOpts, { importedSource }, opts); } else { _assert(!opts, "Unexpected secondary arguments."); - newOpts = Object.assign({}, this._defaultOpts, importedSource); } - if (!isInit && opts) { if (opts.nameHint !== undefined) newOpts.nameHint = opts.nameHint; if (opts.blockHoist !== undefined) newOpts.blockHoist = opts.blockHoist; } - return newOpts; } - _generateImport(opts, importName) { const isDefault = importName === "default"; const isNamed = !!importName && !isDefault; @@ -94,20 +77,15 @@ class ImportInjector { const isMod = (0, _isModule.default)(this._programPath); const isModuleForNode = isMod && importingInterop === "node"; const isModuleForBabel = isMod && importingInterop === "babel"; - if (importPosition === "after" && !isMod) { throw new Error(`"importPosition": "after" is only supported in modules`); } - const builder = new _importBuilder.default(importedSource, this._programScope, this._hub); - if (importedType === "es6") { if (!isModuleForNode && !isModuleForBabel) { throw new Error("Cannot import an ES6 module from CommonJS"); } - builder.import(); - if (isNamespace) { builder.namespace(nameHint || importedSource); } else if (isDefault || isNamed) { @@ -120,7 +98,6 @@ class ImportInjector { name = name !== "default" ? name : importedSource; const es6Default = `${importedSource}$es6Default`; builder.import(); - if (isNamespace) { builder.default(es6Default).var(name || importedSource).wildcardInterop(); } else if (isDefault) { @@ -134,7 +111,6 @@ class ImportInjector { } } else if (isModuleForBabel) { builder.import(); - if (isNamespace) { builder.namespace(name || importedSource); } else if (isDefault || isNamed) { @@ -142,7 +118,6 @@ class ImportInjector { } } else { builder.require(); - if (isNamespace) { builder.var(name || importedSource).wildcardInterop(); } else if ((isDefault || isNamed) && ensureLiveReference) { @@ -162,7 +137,6 @@ class ImportInjector { } else if (importedInterop === "compiled") { if (isModuleForNode) { builder.import(); - if (isNamespace) { builder.default(name || importedSource); } else if (isDefault || isNamed) { @@ -170,7 +144,6 @@ class ImportInjector { } } else if (isModuleForBabel) { builder.import(); - if (isNamespace) { builder.namespace(name || importedSource); } else if (isDefault || isNamed) { @@ -178,7 +151,6 @@ class ImportInjector { } } else { builder.require(); - if (isNamespace) { builder.var(name || importedSource); } else if (isDefault || isNamed) { @@ -193,10 +165,8 @@ class ImportInjector { if (isDefault && ensureLiveReference) { throw new Error("No live reference for commonjs default"); } - if (isModuleForNode) { builder.import(); - if (isNamespace) { builder.default(name || importedSource); } else if (isDefault) { @@ -206,7 +176,6 @@ class ImportInjector { } } else if (isModuleForBabel) { builder.import(); - if (isNamespace) { builder.default(name || importedSource); } else if (isDefault) { @@ -216,7 +185,6 @@ class ImportInjector { } } else { builder.require(); - if (isNamespace) { builder.var(name || importedSource); } else if (isDefault) { @@ -232,24 +200,18 @@ class ImportInjector { } else { throw new Error(`Unknown importedInterop "${importedInterop}".`); } - const { statements, resultName } = builder.done(); - this._insertStatements(statements, importPosition, blockHoist); - if ((isDefault || isNamed) && ensureNoContext && resultName.type !== "Identifier") { return sequenceExpression([numericLiteral(0), resultName]); } - return resultName; } - _insertStatements(statements, importPosition = "before", blockHoist = 3) { const body = this._programPath.get("body"); - if (importPosition === "after") { for (let i = body.length - 1; i >= 0; i--) { if (body[i].isImportDeclaration()) { @@ -265,16 +227,14 @@ class ImportInjector { const val = p.node._blockHoist; return Number.isFinite(val) && val < 4; }); - if (targetPath) { targetPath.insertBefore(statements); return; } } - this._programPath.unshiftContainer("body", statements); } - } +exports.default = ImportInjector; -exports.default = ImportInjector; \ No newline at end of file +//# sourceMappingURL=import-injector.js.map diff --git a/node_modules/@babel/helper-module-imports/lib/import-injector.js.map b/node_modules/@babel/helper-module-imports/lib/import-injector.js.map new file mode 100644 index 000000000..9c67b96d1 --- /dev/null +++ b/node_modules/@babel/helper-module-imports/lib/import-injector.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_assert","require","_t","_importBuilder","_isModule","numericLiteral","sequenceExpression","ImportInjector","constructor","path","importedSource","opts","_defaultOpts","importedType","importedInterop","importingInterop","ensureLiveReference","ensureNoContext","importPosition","programPath","find","p","isProgram","_programPath","_programScope","scope","_hub","hub","_applyDefaults","addDefault","importedSourceIn","addNamed","importName","assert","_generateImport","addNamespace","addSideEffect","isInit","newOpts","Object","assign","nameHint","undefined","blockHoist","isDefault","isNamed","isNamespace","name","isMod","isModule","isModuleForNode","isModuleForBabel","Error","builder","ImportBuilder","import","namespace","named","es6Default","default","var","wildcardInterop","defaultInterop","read","prop","statements","resultName","done","_insertStatements","type","body","get","i","length","isImportDeclaration","insertAfter","forEach","node","_blockHoist","targetPath","val","Number","isFinite","insertBefore","unshiftContainer","exports"],"sources":["../src/import-injector.ts"],"sourcesContent":["import assert from \"assert\";\nimport { numericLiteral, sequenceExpression } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type { NodePath, Scope } from \"@babel/traverse\";\nimport type { File } from \"@babel/core\";\n\nimport ImportBuilder from \"./import-builder\";\nimport isModule from \"./is-module\";\n\nexport type ImportOptions = {\n /**\n * The module being referenced.\n */\n importedSource: string | null;\n /**\n * The type of module being imported:\n *\n * * 'es6' - An ES6 module.\n * * 'commonjs' - A CommonJS module. (Default)\n */\n importedType: \"es6\" | \"commonjs\";\n /**\n * The type of interop behavior for namespace/default/named when loading\n * CommonJS modules.\n *\n * ## 'babel' (Default)\n *\n * Load using Babel's interop.\n *\n * If '.__esModule' is true, treat as 'compiled', else:\n *\n * * Namespace: A copy of the module.exports with .default\n * populated by the module.exports object.\n * * Default: The module.exports value.\n * * Named: The .named property of module.exports.\n *\n * The 'ensureLiveReference' has no effect on the liveness of these.\n *\n * ## 'compiled'\n *\n * Assume the module is ES6 compiled to CommonJS. Useful to avoid injecting\n * interop logic if you are confident that the module is a certain format.\n *\n * * Namespace: The root module.exports object.\n * * Default: The .default property of the namespace.\n * * Named: The .named property of the namespace.\n *\n * Will return erroneous results if the imported module is _not_ compiled\n * from ES6 with Babel.\n *\n * ## 'uncompiled'\n *\n * Assume the module is _not_ ES6 compiled to CommonJS. Used a simplified\n * access pattern that doesn't require additional function calls.\n *\n * Will return erroneous results if the imported module _is_ compiled\n * from ES6 with Babel.\n *\n * * Namespace: The module.exports object.\n * * Default: The module.exports object.\n * * Named: The .named property of module.exports.\n */\n importedInterop: \"babel\" | \"node\" | \"compiled\" | \"uncompiled\";\n /**\n * The type of CommonJS interop included in the environment that will be\n * loading the output code.\n *\n * * 'babel' - CommonJS modules load with Babel's interop. (Default)\n * * 'node' - CommonJS modules load with Node's interop.\n *\n * See descriptions in 'importedInterop' for more details.\n */\n importingInterop: \"babel\" | \"node\";\n /**\n * Define whether we explicitly care that the import be a live reference.\n * Only applies when importing default and named imports, not the namespace.\n *\n * * true - Force imported values to be live references.\n * * false - No particular requirements. Keeps the code simplest. (Default)\n */\n ensureLiveReference: boolean;\n /**\n * Define if we explicitly care that the result not be a property reference.\n *\n * * true - Force calls to exclude context. Useful if the value is going to\n * be used as function callee.\n * * false - No particular requirements for context of the access. (Default)\n */\n ensureNoContext: boolean;\n /**\n * Define whether the import should be loaded before or after the existing imports.\n * \"after\" is only allowed inside ECMAScript modules, since it's not possible to\n * reliably pick the location _after_ require() calls but _before_ other code in CJS.\n */\n importPosition: \"before\" | \"after\";\n\n nameHint?: string;\n blockHoist?: number;\n};\n\n/**\n * A general helper classes add imports via transforms. See README for usage.\n */\nexport default class ImportInjector {\n /**\n * The path used for manipulation.\n */\n declare _programPath: NodePath;\n\n /**\n * The scope used to generate unique variable names.\n */\n declare _programScope: Scope;\n\n /**\n * The file used to inject helpers and resolve paths.\n */\n declare _hub: File[\"hub\"];\n\n /**\n * The default options to use with this instance when imports are added.\n */\n _defaultOpts: ImportOptions = {\n importedSource: null,\n importedType: \"commonjs\",\n importedInterop: \"babel\",\n importingInterop: \"babel\",\n ensureLiveReference: false,\n ensureNoContext: false,\n importPosition: \"before\",\n };\n\n constructor(\n path: NodePath,\n importedSource?: string,\n opts?: Partial,\n ) {\n const programPath = path.find(p => p.isProgram()) as NodePath;\n\n this._programPath = programPath;\n this._programScope = programPath.scope;\n this._hub = programPath.hub as File[\"hub\"];\n\n this._defaultOpts = this._applyDefaults(importedSource, opts, true);\n }\n\n addDefault(importedSourceIn: string, opts: Partial) {\n return this.addNamed(\"default\", importedSourceIn, opts);\n }\n\n addNamed(\n importName: string,\n importedSourceIn: string,\n opts: Partial,\n ) {\n assert(typeof importName === \"string\");\n\n return this._generateImport(\n this._applyDefaults(importedSourceIn, opts),\n importName,\n );\n }\n\n addNamespace(importedSourceIn: string, opts: Partial) {\n return this._generateImport(\n this._applyDefaults(importedSourceIn, opts),\n null,\n );\n }\n\n addSideEffect(importedSourceIn: string, opts: Partial) {\n return this._generateImport(\n this._applyDefaults(importedSourceIn, opts),\n void 0,\n );\n }\n\n _applyDefaults(\n importedSource: string | Partial,\n opts: Partial | undefined,\n isInit = false,\n ) {\n let newOpts: ImportOptions;\n if (typeof importedSource === \"string\") {\n newOpts = { ...this._defaultOpts, importedSource, ...opts };\n } else {\n assert(!opts, \"Unexpected secondary arguments.\");\n newOpts = { ...this._defaultOpts, ...importedSource };\n }\n\n if (!isInit && opts) {\n if (opts.nameHint !== undefined) newOpts.nameHint = opts.nameHint;\n if (opts.blockHoist !== undefined) newOpts.blockHoist = opts.blockHoist;\n }\n return newOpts;\n }\n\n _generateImport(\n opts: Partial,\n importName: string | null | undefined,\n ) {\n const isDefault = importName === \"default\";\n const isNamed = !!importName && !isDefault;\n const isNamespace = importName === null;\n\n const {\n importedSource,\n importedType,\n importedInterop,\n importingInterop,\n ensureLiveReference,\n ensureNoContext,\n nameHint,\n importPosition,\n\n // Not meant for public usage. Allows code that absolutely must control\n // ordering to set a specific hoist value on the import nodes.\n // This is ignored when \"importPosition\" is \"after\".\n blockHoist,\n } = opts;\n\n // Provide a hint for generateUidIdentifier for the local variable name\n // to use for the import, if the code will generate a simple assignment\n // to a variable.\n let name = nameHint || importName;\n\n const isMod = isModule(this._programPath);\n const isModuleForNode = isMod && importingInterop === \"node\";\n const isModuleForBabel = isMod && importingInterop === \"babel\";\n\n if (importPosition === \"after\" && !isMod) {\n throw new Error(`\"importPosition\": \"after\" is only supported in modules`);\n }\n\n const builder = new ImportBuilder(\n importedSource,\n this._programScope,\n this._hub,\n );\n\n if (importedType === \"es6\") {\n if (!isModuleForNode && !isModuleForBabel) {\n throw new Error(\"Cannot import an ES6 module from CommonJS\");\n }\n\n // import * as namespace from ''; namespace\n // import def from ''; def\n // import { named } from ''; named\n builder.import();\n if (isNamespace) {\n builder.namespace(nameHint || importedSource);\n } else if (isDefault || isNamed) {\n builder.named(name, importName);\n }\n } else if (importedType !== \"commonjs\") {\n throw new Error(`Unexpected interopType \"${importedType}\"`);\n } else if (importedInterop === \"babel\") {\n if (isModuleForNode) {\n // import _tmp from ''; var namespace = interopRequireWildcard(_tmp); namespace\n // import _tmp from ''; var def = interopRequireDefault(_tmp).default; def\n // import _tmp from ''; _tmp.named\n name = name !== \"default\" ? name : importedSource;\n const es6Default = `${importedSource}$es6Default`;\n\n builder.import();\n if (isNamespace) {\n builder\n .default(es6Default)\n .var(name || importedSource)\n .wildcardInterop();\n } else if (isDefault) {\n if (ensureLiveReference) {\n builder\n .default(es6Default)\n .var(name || importedSource)\n .defaultInterop()\n .read(\"default\");\n } else {\n builder\n .default(es6Default)\n .var(name)\n .defaultInterop()\n .prop(importName);\n }\n } else if (isNamed) {\n builder.default(es6Default).read(importName);\n }\n } else if (isModuleForBabel) {\n // import * as namespace from ''; namespace\n // import def from ''; def\n // import { named } from ''; named\n builder.import();\n if (isNamespace) {\n builder.namespace(name || importedSource);\n } else if (isDefault || isNamed) {\n builder.named(name, importName);\n }\n } else {\n // var namespace = interopRequireWildcard(require(''));\n // var def = interopRequireDefault(require('')).default; def\n // var named = require('').named; named\n builder.require();\n if (isNamespace) {\n builder.var(name || importedSource).wildcardInterop();\n } else if ((isDefault || isNamed) && ensureLiveReference) {\n if (isDefault) {\n name = name !== \"default\" ? name : importedSource;\n builder.var(name).read(importName);\n builder.defaultInterop();\n } else {\n builder.var(importedSource).read(importName);\n }\n } else if (isDefault) {\n builder.var(name).defaultInterop().prop(importName);\n } else if (isNamed) {\n builder.var(name).prop(importName);\n }\n }\n } else if (importedInterop === \"compiled\") {\n if (isModuleForNode) {\n // import namespace from ''; namespace\n // import namespace from ''; namespace.default\n // import namespace from ''; namespace.named\n\n builder.import();\n if (isNamespace) {\n builder.default(name || importedSource);\n } else if (isDefault || isNamed) {\n builder.default(importedSource).read(name);\n }\n } else if (isModuleForBabel) {\n // import * as namespace from ''; namespace\n // import def from ''; def\n // import { named } from ''; named\n // Note: These lookups will break if the module has no __esModule set,\n // hence the warning that 'compiled' will not work on standard CommonJS.\n\n builder.import();\n if (isNamespace) {\n builder.namespace(name || importedSource);\n } else if (isDefault || isNamed) {\n builder.named(name, importName);\n }\n } else {\n // var namespace = require(''); namespace\n // var namespace = require(''); namespace.default\n // var namespace = require(''); namespace.named\n // var named = require('').named;\n builder.require();\n if (isNamespace) {\n builder.var(name || importedSource);\n } else if (isDefault || isNamed) {\n if (ensureLiveReference) {\n builder.var(importedSource).read(name);\n } else {\n builder.prop(importName).var(name);\n }\n }\n }\n } else if (importedInterop === \"uncompiled\") {\n if (isDefault && ensureLiveReference) {\n throw new Error(\"No live reference for commonjs default\");\n }\n\n if (isModuleForNode) {\n // import namespace from ''; namespace\n // import def from ''; def;\n // import namespace from ''; namespace.named\n builder.import();\n if (isNamespace) {\n builder.default(name || importedSource);\n } else if (isDefault) {\n builder.default(name);\n } else if (isNamed) {\n builder.default(importedSource).read(name);\n }\n } else if (isModuleForBabel) {\n // import namespace from '';\n // import def from '';\n // import { named } from ''; named;\n // Note: These lookups will break if the module has __esModule set,\n // hence the warning that 'uncompiled' will not work on ES6 transpiled\n // to CommonJS.\n\n builder.import();\n if (isNamespace) {\n builder.default(name || importedSource);\n } else if (isDefault) {\n builder.default(name);\n } else if (isNamed) {\n builder.named(name, importName);\n }\n } else {\n // var namespace = require(''); namespace\n // var def = require(''); def\n // var namespace = require(''); namespace.named\n // var named = require('').named;\n builder.require();\n if (isNamespace) {\n builder.var(name || importedSource);\n } else if (isDefault) {\n builder.var(name);\n } else if (isNamed) {\n if (ensureLiveReference) {\n builder.var(importedSource).read(name);\n } else {\n builder.var(name).prop(importName);\n }\n }\n }\n } else {\n throw new Error(`Unknown importedInterop \"${importedInterop}\".`);\n }\n\n const { statements, resultName } = builder.done();\n\n this._insertStatements(statements, importPosition, blockHoist);\n\n if (\n (isDefault || isNamed) &&\n ensureNoContext &&\n resultName.type !== \"Identifier\"\n ) {\n return sequenceExpression([numericLiteral(0), resultName]);\n }\n return resultName;\n }\n\n _insertStatements(\n statements: t.Statement[],\n importPosition = \"before\",\n blockHoist = 3,\n ) {\n const body = this._programPath.get(\"body\");\n\n if (importPosition === \"after\") {\n for (let i = body.length - 1; i >= 0; i--) {\n if (body[i].isImportDeclaration()) {\n body[i].insertAfter(statements);\n return;\n }\n }\n } else {\n statements.forEach(node => {\n // @ts-expect-error handle _blockHoist\n node._blockHoist = blockHoist;\n });\n\n const targetPath = body.find(p => {\n // @ts-expect-error todo(flow->ts): avoid mutations\n const val = p.node._blockHoist;\n return Number.isFinite(val) && val < 4;\n });\n\n if (targetPath) {\n targetPath.insertBefore(statements);\n return;\n }\n }\n\n this._programPath.unshiftContainer(\"body\", statements);\n }\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/helper-module-imports/lib/index.js b/node_modules/@babel/helper-module-imports/lib/index.js index a3d7921ca..99d963a32 100644 --- a/node_modules/@babel/helper-module-imports/lib/index.js +++ b/node_modules/@babel/helper-module-imports/lib/index.js @@ -19,23 +19,19 @@ Object.defineProperty(exports, "isModule", { return _isModule.default; } }); - var _importInjector = require("./import-injector"); - var _isModule = require("./is-module"); - function addDefault(path, importedSource, opts) { return new _importInjector.default(path).addDefault(importedSource, opts); } - function addNamed(path, name, importedSource, opts) { return new _importInjector.default(path).addNamed(name, importedSource, opts); } - function addNamespace(path, importedSource, opts) { return new _importInjector.default(path).addNamespace(importedSource, opts); } - function addSideEffect(path, importedSource, opts) { return new _importInjector.default(path).addSideEffect(importedSource, opts); -} \ No newline at end of file +} + +//# sourceMappingURL=index.js.map diff --git a/node_modules/@babel/helper-module-imports/lib/index.js.map b/node_modules/@babel/helper-module-imports/lib/index.js.map new file mode 100644 index 000000000..d132f3365 --- /dev/null +++ b/node_modules/@babel/helper-module-imports/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_importInjector","require","_isModule","addDefault","path","importedSource","opts","ImportInjector","addNamed","name","addNamespace","addSideEffect"],"sources":["../src/index.ts"],"sourcesContent":["import ImportInjector, { type ImportOptions } from \"./import-injector\";\nimport type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\n\nexport { ImportInjector };\n\nexport { default as isModule } from \"./is-module\";\n\nexport function addDefault(\n path: NodePath,\n importedSource: string,\n opts?: Partial,\n) {\n return new ImportInjector(path).addDefault(importedSource, opts);\n}\n\nfunction addNamed(\n path: NodePath,\n name: string,\n importedSource: string,\n opts?: Omit<\n Partial,\n \"ensureLiveReference\" | \"ensureNoContext\"\n >,\n): t.Identifier;\nfunction addNamed(\n path: NodePath,\n name: string,\n importedSource: string,\n opts?: Omit, \"ensureLiveReference\"> & {\n ensureLiveReference: true;\n },\n): t.MemberExpression;\nfunction addNamed(\n path: NodePath,\n name: string,\n importedSource: string,\n opts?: Omit, \"ensureNoContext\"> & {\n ensureNoContext: true;\n },\n): t.SequenceExpression;\n/**\n * add a named import to the program path of given path\n *\n * @export\n * @param {NodePath} path The starting path to find a program path\n * @param {string} name The name of the generated binding. Babel will prefix it with `_`\n * @param {string} importedSource The source of the import\n * @param {Partial} [opts]\n * @returns {t.Identifier | t.MemberExpression | t.SequenceExpression} If opts.ensureNoContext is true, returns a SequenceExpression,\n * else if opts.ensureLiveReference is true, returns a MemberExpression, else returns an Identifier\n */\nfunction addNamed(\n path: NodePath,\n name: string,\n importedSource: string,\n opts?: Partial,\n) {\n return new ImportInjector(path).addNamed(name, importedSource, opts);\n}\nexport { addNamed };\n\nexport function addNamespace(\n path: NodePath,\n importedSource: string,\n opts?: Partial,\n) {\n return new ImportInjector(path).addNamespace(importedSource, opts);\n}\n\nexport function addSideEffect(\n path: NodePath,\n importedSource: string,\n opts?: Partial,\n) {\n return new ImportInjector(path).addSideEffect(importedSource, opts);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAMA,IAAAC,SAAA,GAAAD,OAAA;AAEO,SAASE,UAAUA,CACxBC,IAAc,EACdC,cAAsB,EACtBC,IAA6B,EAC7B;EACA,OAAO,IAAIC,uBAAc,CAACH,IAAI,CAAC,CAACD,UAAU,CAACE,cAAc,EAAEC,IAAI,CAAC;AAClE;AAsCA,SAASE,QAAQA,CACfJ,IAAc,EACdK,IAAY,EACZJ,cAAsB,EACtBC,IAA6B,EAC7B;EACA,OAAO,IAAIC,uBAAc,CAACH,IAAI,CAAC,CAACI,QAAQ,CAACC,IAAI,EAAEJ,cAAc,EAAEC,IAAI,CAAC;AACtE;AAGO,SAASI,YAAYA,CAC1BN,IAAc,EACdC,cAAsB,EACtBC,IAA6B,EAC7B;EACA,OAAO,IAAIC,uBAAc,CAACH,IAAI,CAAC,CAACM,YAAY,CAACL,cAAc,EAAEC,IAAI,CAAC;AACpE;AAEO,SAASK,aAAaA,CAC3BP,IAAc,EACdC,cAAsB,EACtBC,IAA6B,EAC7B;EACA,OAAO,IAAIC,uBAAc,CAACH,IAAI,CAAC,CAACO,aAAa,CAACN,cAAc,EAAEC,IAAI,CAAC;AACrE"} \ No newline at end of file diff --git a/node_modules/@babel/helper-module-imports/lib/is-module.js b/node_modules/@babel/helper-module-imports/lib/is-module.js index ad9e39954..0bbda0139 100644 --- a/node_modules/@babel/helper-module-imports/lib/is-module.js +++ b/node_modules/@babel/helper-module-imports/lib/is-module.js @@ -4,15 +4,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isModule; - function isModule(path) { - const { - sourceType - } = path.node; - - if (sourceType !== "module" && sourceType !== "script") { - throw path.buildCodeFrameError(`Unknown sourceType "${sourceType}", cannot transform.`); - } - return path.node.sourceType === "module"; -} \ No newline at end of file +} + +//# sourceMappingURL=is-module.js.map diff --git a/node_modules/@babel/helper-module-imports/lib/is-module.js.map b/node_modules/@babel/helper-module-imports/lib/is-module.js.map new file mode 100644 index 000000000..a2bcc4eb2 --- /dev/null +++ b/node_modules/@babel/helper-module-imports/lib/is-module.js.map @@ -0,0 +1 @@ +{"version":3,"names":["isModule","path","node","sourceType"],"sources":["../src/is-module.ts"],"sourcesContent":["import type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\n\n/**\n * A small utility to check if a file qualifies as a module.\n */\nexport default function isModule(path: NodePath) {\n return path.node.sourceType === \"module\";\n}\n"],"mappings":";;;;;;AAMe,SAASA,QAAQA,CAACC,IAAyB,EAAE;EAC1D,OAAOA,IAAI,CAACC,IAAI,CAACC,UAAU,KAAK,QAAQ;AAC1C"} \ No newline at end of file diff --git a/node_modules/@babel/helper-module-imports/package.json b/node_modules/@babel/helper-module-imports/package.json index 9301d3e17..f85d89401 100644 --- a/node_modules/@babel/helper-module-imports/package.json +++ b/node_modules/@babel/helper-module-imports/package.json @@ -1,6 +1,6 @@ { "name": "@babel/helper-module-imports", - "version": "7.18.6", + "version": "7.22.5", "description": "Babel helper functions for inserting module loads", "author": "The Babel Team (https://babel.dev/team)", "homepage": "https://babel.dev/docs/en/next/babel-helper-module-imports", @@ -15,11 +15,11 @@ }, "main": "./lib/index.js", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "devDependencies": { - "@babel/core": "^7.18.6", - "@babel/traverse": "^7.18.6" + "@babel/core": "^7.22.5", + "@babel/traverse": "^7.22.5" }, "engines": { "node": ">=6.9.0" diff --git a/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js b/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js index 534167d0f..d50a2246c 100644 --- a/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js +++ b/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js @@ -4,12 +4,17 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.buildDynamicImport = buildDynamicImport; -exports.getDynamicImportSource = getDynamicImportSource; var t = require("@babel/types"); var _template = require("@babel/template"); -function getDynamicImportSource(node) { - const [source] = node.arguments; - return t.isStringLiteral(source) || t.isTemplateLiteral(source) ? source : _template.default.expression.ast`\`\${${source}}\``; +{ + { + { + exports.getDynamicImportSource = function getDynamicImportSource(node) { + const [source] = node.arguments; + return t.isStringLiteral(source) || t.isTemplateLiteral(source) ? source : _template.default.expression.ast`\`\${${source}}\``; + }; + } + } } function buildDynamicImport(node, deferToThen, wrapWithPromise, builder) { const [specifier] = node.arguments; diff --git a/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js.map b/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js.map index 42d53344d..6d92ec651 100644 --- a/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js.map +++ b/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js.map @@ -1 +1 @@ -{"version":3,"names":["getDynamicImportSource","node","source","arguments","t","isStringLiteral","isTemplateLiteral","template","expression","ast","buildDynamicImport","deferToThen","wrapWithPromise","builder","specifier","quasis","length","specifierToString","identifier","templateLiteral","templateElement","raw"],"sources":["../src/dynamic-import.ts"],"sourcesContent":["// Heavily inspired by\n// https://github.com/airbnb/babel-plugin-dynamic-import-node/blob/master/src/utils.js\n\nimport * as t from \"@babel/types\";\nimport template from \"@babel/template\";\n\n// TODO(Babel 8): Remove this\nexport function getDynamicImportSource(\n node: t.CallExpression,\n): t.StringLiteral | t.TemplateLiteral {\n const [source] = node.arguments;\n\n return t.isStringLiteral(source) || t.isTemplateLiteral(source)\n ? source\n : (template.expression.ast`\\`\\${${source}}\\`` as t.TemplateLiteral);\n}\n\nexport function buildDynamicImport(\n node: t.CallExpression,\n deferToThen: boolean,\n wrapWithPromise: boolean,\n builder: (specifier: t.Expression) => t.Expression,\n): t.Expression {\n const [specifier] = node.arguments;\n\n if (\n t.isStringLiteral(specifier) ||\n (t.isTemplateLiteral(specifier) && specifier.quasis.length === 0)\n ) {\n if (deferToThen) {\n return template.expression.ast`\n Promise.resolve().then(() => ${builder(specifier)})\n `;\n } else return builder(specifier);\n }\n\n const specifierToString = t.isTemplateLiteral(specifier)\n ? t.identifier(\"specifier\")\n : t.templateLiteral(\n [t.templateElement({ raw: \"\" }), t.templateElement({ raw: \"\" })],\n [t.identifier(\"specifier\")],\n );\n\n if (deferToThen) {\n return template.expression.ast`\n (specifier =>\n new Promise(r => r(${specifierToString}))\n .then(s => ${builder(t.identifier(\"s\"))})\n )(${specifier})\n `;\n } else if (wrapWithPromise) {\n return template.expression.ast`\n (specifier =>\n new Promise(r => r(${builder(specifierToString)}))\n )(${specifier})\n `;\n } else {\n return template.expression.ast`\n (specifier => ${builder(specifierToString)})(${specifier})\n `;\n }\n}\n"],"mappings":";;;;;;;AAGA;AACA;AAGO,SAASA,sBAAsB,CACpCC,IAAsB,EACe;EACrC,MAAM,CAACC,MAAM,CAAC,GAAGD,IAAI,CAACE,SAAS;EAE/B,OAAOC,CAAC,CAACC,eAAe,CAACH,MAAM,CAAC,IAAIE,CAAC,CAACE,iBAAiB,CAACJ,MAAM,CAAC,GAC3DA,MAAM,GACLK,iBAAQ,CAACC,UAAU,CAACC,GAAI,QAAOP,MAAO,KAA0B;AACvE;AAEO,SAASQ,kBAAkB,CAChCT,IAAsB,EACtBU,WAAoB,EACpBC,eAAwB,EACxBC,OAAkD,EACpC;EACd,MAAM,CAACC,SAAS,CAAC,GAAGb,IAAI,CAACE,SAAS;EAElC,IACEC,CAAC,CAACC,eAAe,CAACS,SAAS,CAAC,IAC3BV,CAAC,CAACE,iBAAiB,CAACQ,SAAS,CAAC,IAAIA,SAAS,CAACC,MAAM,CAACC,MAAM,KAAK,CAAE,EACjE;IACA,IAAIL,WAAW,EAAE;MACf,OAAOJ,iBAAQ,CAACC,UAAU,CAACC,GAAI;AACrC,uCAAuCI,OAAO,CAACC,SAAS,CAAE;AAC1D,OAAO;IACH,CAAC,MAAM,OAAOD,OAAO,CAACC,SAAS,CAAC;EAClC;EAEA,MAAMG,iBAAiB,GAAGb,CAAC,CAACE,iBAAiB,CAACQ,SAAS,CAAC,GACpDV,CAAC,CAACc,UAAU,CAAC,WAAW,CAAC,GACzBd,CAAC,CAACe,eAAe,CACf,CAACf,CAAC,CAACgB,eAAe,CAAC;IAAEC,GAAG,EAAE;EAAG,CAAC,CAAC,EAAEjB,CAAC,CAACgB,eAAe,CAAC;IAAEC,GAAG,EAAE;EAAG,CAAC,CAAC,CAAC,EAChE,CAACjB,CAAC,CAACc,UAAU,CAAC,WAAW,CAAC,CAAC,CAC5B;EAEL,IAAIP,WAAW,EAAE;IACf,OAAOJ,iBAAQ,CAACC,UAAU,CAACC,GAAI;AACnC;AACA,6BAA6BQ,iBAAkB;AAC/C,uBAAuBJ,OAAO,CAACT,CAAC,CAACc,UAAU,CAAC,GAAG,CAAC,CAAE;AAClD,UAAUJ,SAAU;AACpB,KAAK;EACH,CAAC,MAAM,IAAIF,eAAe,EAAE;IAC1B,OAAOL,iBAAQ,CAACC,UAAU,CAACC,GAAI;AACnC;AACA,6BAA6BI,OAAO,CAACI,iBAAiB,CAAE;AACxD,UAAUH,SAAU;AACpB,KAAK;EACH,CAAC,MAAM;IACL,OAAOP,iBAAQ,CAACC,UAAU,CAACC,GAAI;AACnC,sBAAsBI,OAAO,CAACI,iBAAiB,CAAE,KAAIH,SAAU;AAC/D,KAAK;EACH;AACF"} \ No newline at end of file +{"version":3,"names":["t","require","_template","exports","getDynamicImportSource","node","source","arguments","isStringLiteral","isTemplateLiteral","template","expression","ast","buildDynamicImport","deferToThen","wrapWithPromise","builder","specifier","quasis","length","specifierToString","identifier","templateLiteral","templateElement","raw"],"sources":["../src/dynamic-import.ts"],"sourcesContent":["// Heavily inspired by\n// https://github.com/airbnb/babel-plugin-dynamic-import-node/blob/master/src/utils.js\n\nimport * as t from \"@babel/types\";\nimport template from \"@babel/template\";\n\nif (!process.env.BABEL_8_BREAKING) {\n if (!USE_ESM) {\n if (!IS_STANDALONE) {\n // eslint-disable-next-line no-restricted-globals\n exports.getDynamicImportSource = function getDynamicImportSource(\n node: t.CallExpression,\n ): t.StringLiteral | t.TemplateLiteral {\n const [source] = node.arguments;\n\n return t.isStringLiteral(source) || t.isTemplateLiteral(source)\n ? source\n : (template.expression.ast`\\`\\${${source}}\\`` as t.TemplateLiteral);\n };\n }\n }\n}\n\nexport function buildDynamicImport(\n node: t.CallExpression,\n deferToThen: boolean,\n wrapWithPromise: boolean,\n builder: (specifier: t.Expression) => t.Expression,\n): t.Expression {\n const [specifier] = node.arguments;\n\n if (\n t.isStringLiteral(specifier) ||\n (t.isTemplateLiteral(specifier) && specifier.quasis.length === 0)\n ) {\n if (deferToThen) {\n return template.expression.ast`\n Promise.resolve().then(() => ${builder(specifier)})\n `;\n } else return builder(specifier);\n }\n\n const specifierToString = t.isTemplateLiteral(specifier)\n ? t.identifier(\"specifier\")\n : t.templateLiteral(\n [t.templateElement({ raw: \"\" }), t.templateElement({ raw: \"\" })],\n [t.identifier(\"specifier\")],\n );\n\n if (deferToThen) {\n return template.expression.ast`\n (specifier =>\n new Promise(r => r(${specifierToString}))\n .then(s => ${builder(t.identifier(\"s\"))})\n )(${specifier})\n `;\n } else if (wrapWithPromise) {\n return template.expression.ast`\n (specifier =>\n new Promise(r => r(${builder(specifierToString)}))\n )(${specifier})\n `;\n } else {\n return template.expression.ast`\n (specifier => ${builder(specifierToString)})(${specifier})\n `;\n }\n}\n"],"mappings":";;;;;;AAGA,IAAAA,CAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEmC;EACnB;IACQ;MAElBE,OAAO,CAACC,sBAAsB,GAAG,SAASA,sBAAsBA,CAC9DC,IAAsB,EACe;QACrC,MAAM,CAACC,MAAM,CAAC,GAAGD,IAAI,CAACE,SAAS;QAE/B,OAAOP,CAAC,CAACQ,eAAe,CAACF,MAAM,CAAC,IAAIN,CAAC,CAACS,iBAAiB,CAACH,MAAM,CAAC,GAC3DA,MAAM,GACLI,iBAAQ,CAACC,UAAU,CAACC,GAAI,QAAON,MAAO,KAA0B;MACvE,CAAC;IACH;EACF;AACF;AAEO,SAASO,kBAAkBA,CAChCR,IAAsB,EACtBS,WAAoB,EACpBC,eAAwB,EACxBC,OAAkD,EACpC;EACd,MAAM,CAACC,SAAS,CAAC,GAAGZ,IAAI,CAACE,SAAS;EAElC,IACEP,CAAC,CAACQ,eAAe,CAACS,SAAS,CAAC,IAC3BjB,CAAC,CAACS,iBAAiB,CAACQ,SAAS,CAAC,IAAIA,SAAS,CAACC,MAAM,CAACC,MAAM,KAAK,CAAE,EACjE;IACA,IAAIL,WAAW,EAAE;MACf,OAAOJ,iBAAQ,CAACC,UAAU,CAACC,GAAI;AACrC,uCAAuCI,OAAO,CAACC,SAAS,CAAE;AAC1D,OAAO;IACH,CAAC,MAAM,OAAOD,OAAO,CAACC,SAAS,CAAC;EAClC;EAEA,MAAMG,iBAAiB,GAAGpB,CAAC,CAACS,iBAAiB,CAACQ,SAAS,CAAC,GACpDjB,CAAC,CAACqB,UAAU,CAAC,WAAW,CAAC,GACzBrB,CAAC,CAACsB,eAAe,CACf,CAACtB,CAAC,CAACuB,eAAe,CAAC;IAAEC,GAAG,EAAE;EAAG,CAAC,CAAC,EAAExB,CAAC,CAACuB,eAAe,CAAC;IAAEC,GAAG,EAAE;EAAG,CAAC,CAAC,CAAC,EAChE,CAACxB,CAAC,CAACqB,UAAU,CAAC,WAAW,CAAC,CAC5B,CAAC;EAEL,IAAIP,WAAW,EAAE;IACf,OAAOJ,iBAAQ,CAACC,UAAU,CAACC,GAAI;AACnC;AACA,6BAA6BQ,iBAAkB;AAC/C,uBAAuBJ,OAAO,CAAChB,CAAC,CAACqB,UAAU,CAAC,GAAG,CAAC,CAAE;AAClD,UAAUJ,SAAU;AACpB,KAAK;EACH,CAAC,MAAM,IAAIF,eAAe,EAAE;IAC1B,OAAOL,iBAAQ,CAACC,UAAU,CAACC,GAAI;AACnC;AACA,6BAA6BI,OAAO,CAACI,iBAAiB,CAAE;AACxD,UAAUH,SAAU;AACpB,KAAK;EACH,CAAC,MAAM;IACL,OAAOP,iBAAQ,CAACC,UAAU,CAACC,GAAI;AACnC,sBAAsBI,OAAO,CAACI,iBAAiB,CAAE,KAAIH,SAAU;AAC/D,KAAK;EACH;AACF"} \ No newline at end of file diff --git a/node_modules/@babel/helper-module-transforms/lib/get-module-name.js.map b/node_modules/@babel/helper-module-transforms/lib/get-module-name.js.map index d49d6d43a..545393c77 100644 --- a/node_modules/@babel/helper-module-transforms/lib/get-module-name.js.map +++ b/node_modules/@babel/helper-module-transforms/lib/get-module-name.js.map @@ -1 +1 @@ -{"version":3,"names":["originalGetModuleName","getModuleName","rootOpts","pluginOpts","moduleId","moduleIds","getModuleId","moduleRoot","filename","filenameRelative","sourceRoot","moduleName","sourceRootReplacer","RegExp","replace"],"sources":["../src/get-module-name.ts"],"sourcesContent":["type RootOptions = {\n filename?: string;\n filenameRelative?: string;\n sourceRoot?: string;\n};\n\nexport type PluginOptions = {\n moduleId?: string;\n moduleIds?: boolean;\n getModuleId?: (moduleName: string) => string | null | undefined;\n moduleRoot?: string;\n};\n\nif (!process.env.BABEL_8_BREAKING) {\n const originalGetModuleName = getModuleName;\n\n // @ts-expect-error TS doesn't like reassigning a function.\n // eslint-disable-next-line no-func-assign\n getModuleName = function getModuleName(\n rootOpts: RootOptions & PluginOptions,\n pluginOpts: PluginOptions,\n ): string | null {\n return originalGetModuleName(rootOpts, {\n moduleId: pluginOpts.moduleId ?? rootOpts.moduleId,\n moduleIds: pluginOpts.moduleIds ?? rootOpts.moduleIds,\n getModuleId: pluginOpts.getModuleId ?? rootOpts.getModuleId,\n moduleRoot: pluginOpts.moduleRoot ?? rootOpts.moduleRoot,\n });\n };\n}\n\nexport default function getModuleName(\n rootOpts: RootOptions,\n pluginOpts: PluginOptions,\n): string | null {\n const {\n filename,\n filenameRelative = filename,\n sourceRoot = pluginOpts.moduleRoot,\n } = rootOpts;\n\n const {\n moduleId,\n moduleIds = !!moduleId,\n\n getModuleId,\n\n moduleRoot = sourceRoot,\n } = pluginOpts;\n\n if (!moduleIds) return null;\n\n // moduleId is n/a if a `getModuleId()` is provided\n if (moduleId != null && !getModuleId) {\n return moduleId;\n }\n\n let moduleName = moduleRoot != null ? moduleRoot + \"/\" : \"\";\n\n if (filenameRelative) {\n const sourceRootReplacer =\n sourceRoot != null ? new RegExp(\"^\" + sourceRoot + \"/?\") : \"\";\n\n moduleName += filenameRelative\n // remove sourceRoot from filename\n .replace(sourceRootReplacer, \"\")\n // remove extension\n .replace(/\\.(\\w*?)$/, \"\");\n }\n\n // normalize path separators\n moduleName = moduleName.replace(/\\\\/g, \"/\");\n\n if (getModuleId) {\n // If return is falsy, assume they want us to use our generated default name\n return getModuleId(moduleName) || moduleName;\n } else {\n return moduleName;\n }\n}\n"],"mappings":";;;;;;AAamC;EACjC,MAAMA,qBAAqB,GAAGC,aAAa;EAI3C,kBAAAA,aAAa,GAAG,SAASA,aAAa,CACpCC,QAAqC,EACrCC,UAAyB,EACV;IAAA;IACf,OAAOH,qBAAqB,CAACE,QAAQ,EAAE;MACrCE,QAAQ,0BAAED,UAAU,CAACC,QAAQ,mCAAIF,QAAQ,CAACE,QAAQ;MAClDC,SAAS,2BAAEF,UAAU,CAACE,SAAS,oCAAIH,QAAQ,CAACG,SAAS;MACrDC,WAAW,2BAAEH,UAAU,CAACG,WAAW,oCAAIJ,QAAQ,CAACI,WAAW;MAC3DC,UAAU,2BAAEJ,UAAU,CAACI,UAAU,oCAAIL,QAAQ,CAACK;IAChD,CAAC,CAAC;EACJ,CAAC;AACH;AAEe,SAASN,aAAa,CACnCC,QAAqB,EACrBC,UAAyB,EACV;EACf,MAAM;IACJK,QAAQ;IACRC,gBAAgB,GAAGD,QAAQ;IAC3BE,UAAU,GAAGP,UAAU,CAACI;EAC1B,CAAC,GAAGL,QAAQ;EAEZ,MAAM;IACJE,QAAQ;IACRC,SAAS,GAAG,CAAC,CAACD,QAAQ;IAEtBE,WAAW;IAEXC,UAAU,GAAGG;EACf,CAAC,GAAGP,UAAU;EAEd,IAAI,CAACE,SAAS,EAAE,OAAO,IAAI;EAG3B,IAAID,QAAQ,IAAI,IAAI,IAAI,CAACE,WAAW,EAAE;IACpC,OAAOF,QAAQ;EACjB;EAEA,IAAIO,UAAU,GAAGJ,UAAU,IAAI,IAAI,GAAGA,UAAU,GAAG,GAAG,GAAG,EAAE;EAE3D,IAAIE,gBAAgB,EAAE;IACpB,MAAMG,kBAAkB,GACtBF,UAAU,IAAI,IAAI,GAAG,IAAIG,MAAM,CAAC,GAAG,GAAGH,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE;IAE/DC,UAAU,IAAIF,gBAAgB,CAE3BK,OAAO,CAACF,kBAAkB,EAAE,EAAE,CAAC,CAE/BE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;EAC7B;EAGAH,UAAU,GAAGA,UAAU,CAACG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;EAE3C,IAAIR,WAAW,EAAE;IAEf,OAAOA,WAAW,CAACK,UAAU,CAAC,IAAIA,UAAU;EAC9C,CAAC,MAAM;IACL,OAAOA,UAAU;EACnB;AACF"} \ No newline at end of file +{"version":3,"names":["originalGetModuleName","getModuleName","exports","default","rootOpts","pluginOpts","_pluginOpts$moduleId","_pluginOpts$moduleIds","_pluginOpts$getModule","_pluginOpts$moduleRoo","moduleId","moduleIds","getModuleId","moduleRoot","filename","filenameRelative","sourceRoot","moduleName","sourceRootReplacer","RegExp","replace"],"sources":["../src/get-module-name.ts"],"sourcesContent":["type RootOptions = {\n filename?: string;\n filenameRelative?: string;\n sourceRoot?: string;\n};\n\nexport type PluginOptions = {\n moduleId?: string;\n moduleIds?: boolean;\n getModuleId?: (moduleName: string) => string | null | undefined;\n moduleRoot?: string;\n};\n\nif (!process.env.BABEL_8_BREAKING) {\n const originalGetModuleName = getModuleName;\n\n // @ts-expect-error TS doesn't like reassigning a function.\n // eslint-disable-next-line no-func-assign\n getModuleName = function getModuleName(\n rootOpts: RootOptions & PluginOptions,\n pluginOpts: PluginOptions,\n ): string | null {\n return originalGetModuleName(rootOpts, {\n moduleId: pluginOpts.moduleId ?? rootOpts.moduleId,\n moduleIds: pluginOpts.moduleIds ?? rootOpts.moduleIds,\n getModuleId: pluginOpts.getModuleId ?? rootOpts.getModuleId,\n moduleRoot: pluginOpts.moduleRoot ?? rootOpts.moduleRoot,\n });\n };\n}\n\nexport default function getModuleName(\n rootOpts: RootOptions,\n pluginOpts: PluginOptions,\n): string | null {\n const {\n filename,\n filenameRelative = filename,\n sourceRoot = pluginOpts.moduleRoot,\n } = rootOpts;\n\n const {\n moduleId,\n moduleIds = !!moduleId,\n\n getModuleId,\n\n moduleRoot = sourceRoot,\n } = pluginOpts;\n\n if (!moduleIds) return null;\n\n // moduleId is n/a if a `getModuleId()` is provided\n if (moduleId != null && !getModuleId) {\n return moduleId;\n }\n\n let moduleName = moduleRoot != null ? moduleRoot + \"/\" : \"\";\n\n if (filenameRelative) {\n const sourceRootReplacer =\n sourceRoot != null ? new RegExp(\"^\" + sourceRoot + \"/?\") : \"\";\n\n moduleName += filenameRelative\n // remove sourceRoot from filename\n .replace(sourceRootReplacer, \"\")\n // remove extension\n .replace(/\\.(\\w*?)$/, \"\");\n }\n\n // normalize path separators\n moduleName = moduleName.replace(/\\\\/g, \"/\");\n\n if (getModuleId) {\n // If return is falsy, assume they want us to use our generated default name\n return getModuleId(moduleName) || moduleName;\n } else {\n return moduleName;\n }\n}\n"],"mappings":";;;;;;AAamC;EACjC,MAAMA,qBAAqB,GAAGC,aAAa;EAI3CC,OAAA,CAAAC,OAAA,GAAAF,aAAa,GAAG,SAASA,aAAaA,CACpCG,QAAqC,EACrCC,UAAyB,EACV;IAAA,IAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;IACf,OAAOT,qBAAqB,CAACI,QAAQ,EAAE;MACrCM,QAAQ,GAAAJ,oBAAA,GAAED,UAAU,CAACK,QAAQ,YAAAJ,oBAAA,GAAIF,QAAQ,CAACM,QAAQ;MAClDC,SAAS,GAAAJ,qBAAA,GAAEF,UAAU,CAACM,SAAS,YAAAJ,qBAAA,GAAIH,QAAQ,CAACO,SAAS;MACrDC,WAAW,GAAAJ,qBAAA,GAAEH,UAAU,CAACO,WAAW,YAAAJ,qBAAA,GAAIJ,QAAQ,CAACQ,WAAW;MAC3DC,UAAU,GAAAJ,qBAAA,GAAEJ,UAAU,CAACQ,UAAU,YAAAJ,qBAAA,GAAIL,QAAQ,CAACS;IAChD,CAAC,CAAC;EACJ,CAAC;AACH;AAEe,SAASZ,aAAaA,CACnCG,QAAqB,EACrBC,UAAyB,EACV;EACf,MAAM;IACJS,QAAQ;IACRC,gBAAgB,GAAGD,QAAQ;IAC3BE,UAAU,GAAGX,UAAU,CAACQ;EAC1B,CAAC,GAAGT,QAAQ;EAEZ,MAAM;IACJM,QAAQ;IACRC,SAAS,GAAG,CAAC,CAACD,QAAQ;IAEtBE,WAAW;IAEXC,UAAU,GAAGG;EACf,CAAC,GAAGX,UAAU;EAEd,IAAI,CAACM,SAAS,EAAE,OAAO,IAAI;EAG3B,IAAID,QAAQ,IAAI,IAAI,IAAI,CAACE,WAAW,EAAE;IACpC,OAAOF,QAAQ;EACjB;EAEA,IAAIO,UAAU,GAAGJ,UAAU,IAAI,IAAI,GAAGA,UAAU,GAAG,GAAG,GAAG,EAAE;EAE3D,IAAIE,gBAAgB,EAAE;IACpB,MAAMG,kBAAkB,GACtBF,UAAU,IAAI,IAAI,GAAG,IAAIG,MAAM,CAAC,GAAG,GAAGH,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE;IAE/DC,UAAU,IAAIF,gBAAgB,CAE3BK,OAAO,CAACF,kBAAkB,EAAE,EAAE,CAAC,CAE/BE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;EAC7B;EAGAH,UAAU,GAAGA,UAAU,CAACG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;EAE3C,IAAIR,WAAW,EAAE;IAEf,OAAOA,WAAW,CAACK,UAAU,CAAC,IAAIA,UAAU;EAC9C,CAAC,MAAM;IACL,OAAOA,UAAU;EACnB;AACF"} \ No newline at end of file diff --git a/node_modules/@babel/helper-module-transforms/lib/index.js b/node_modules/@babel/helper-module-transforms/lib/index.js index b87346a4b..a7980caaa 100644 --- a/node_modules/@babel/helper-module-transforms/lib/index.js +++ b/node_modules/@babel/helper-module-transforms/lib/index.js @@ -11,12 +11,6 @@ Object.defineProperty(exports, "buildDynamicImport", { }); exports.buildNamespaceInitStatements = buildNamespaceInitStatements; exports.ensureStatementsHoisted = ensureStatementsHoisted; -Object.defineProperty(exports, "getDynamicImportSource", { - enumerable: true, - get: function () { - return _dynamicImport.getDynamicImportSource; - } -}); Object.defineProperty(exports, "getModuleName", { enumerable: true, get: function () { @@ -73,8 +67,14 @@ const { variableDeclaration, variableDeclarator } = _t; +{ + { + { + exports.getDynamicImportSource = require("./dynamic-import").getDynamicImportSource; + } + } +} function rewriteModuleStatementsAndPrepareHeader(path, { - loose, exportName, strict, allowTopLevelThis, @@ -84,8 +84,8 @@ function rewriteModuleStatementsAndPrepareHeader(path, { lazy, esNamespaceOnly, filename, - constantReexports = loose, - enumerableModuleMeta = loose, + constantReexports = arguments[1].loose, + enumerableModuleMeta = arguments[1].loose, noIncompleteNsImportDetection }) { (0, _normalizeAndLoadMetadata.validateImportInteropOption)(importInterop); diff --git a/node_modules/@babel/helper-module-transforms/lib/index.js.map b/node_modules/@babel/helper-module-transforms/lib/index.js.map index f7ef58fe9..9d5f181ce 100644 --- a/node_modules/@babel/helper-module-transforms/lib/index.js.map +++ b/node_modules/@babel/helper-module-transforms/lib/index.js.map @@ -1 +1 @@ -{"version":3,"names":["booleanLiteral","callExpression","cloneNode","directive","directiveLiteral","expressionStatement","identifier","isIdentifier","memberExpression","stringLiteral","valueToNode","variableDeclaration","variableDeclarator","rewriteModuleStatementsAndPrepareHeader","path","loose","exportName","strict","allowTopLevelThis","strictMode","noInterop","importInterop","lazy","esNamespaceOnly","filename","constantReexports","enumerableModuleMeta","noIncompleteNsImportDetection","validateImportInteropOption","assert","isModule","node","sourceType","meta","normalizeModuleAndLoadMetadata","initializeReexports","rewriteThis","rewriteLiveReferences","hasStrict","directives","some","value","unshiftContainer","headers","hasExports","push","buildESModuleHeader","nameList","buildExportNameListDeclaration","exportNameListName","name","statement","buildExportInitializationStatements","ensureStatementsHoisted","statements","forEach","header","_blockHoist","wrapInterop","programPath","expr","type","hub","addHelper","helper","Error","buildNamespaceInitStatements","metadata","sourceMetadata","srcNamespace","localName","importsNamespace","template","NAME","SOURCE","buildReexportsFromMeta","reexportNamespace","EXPORTS","NAMESPACE","reexportAll","buildNamespaceReexport","loc","ReexportTemplate","constant","constantComputed","spec","namespace","stringSpecifiers","Array","from","reexports","importName","NAMESPACE_IMPORT","interop","has","astNodes","EXPORT_NAME","VERIFY_NAME_LIST","EXPORTS_LIST","exportedVars","Object","create","data","local","values","names","hasReexport","source","keys","length","scope","generateUidIdentifier","default","initStatements","kind","buildInitStatement","reexportsStatements","i","sort","a","b","results","initStatement","chunkSize","uninitializedExportNames","j","buildUndefinedNode","InitTemplate","computed","expression","exportNames","initExpr","reduce","acc","params","VALUE"],"sources":["../src/index.ts"],"sourcesContent":["import assert from \"assert\";\nimport {\n booleanLiteral,\n callExpression,\n cloneNode,\n directive,\n directiveLiteral,\n expressionStatement,\n identifier,\n isIdentifier,\n memberExpression,\n stringLiteral,\n valueToNode,\n variableDeclaration,\n variableDeclarator,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport template from \"@babel/template\";\n\nimport { isModule } from \"@babel/helper-module-imports\";\n\nimport rewriteThis from \"./rewrite-this\";\nimport rewriteLiveReferences from \"./rewrite-live-references\";\nimport normalizeModuleAndLoadMetadata, {\n hasExports,\n isSideEffectImport,\n validateImportInteropOption,\n} from \"./normalize-and-load-metadata\";\nimport type {\n ImportInterop,\n InteropType,\n Lazy,\n ModuleMetadata,\n SourceModuleMetadata,\n} from \"./normalize-and-load-metadata\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport { buildDynamicImport, getDynamicImportSource } from \"./dynamic-import\";\n\nexport { default as getModuleName } from \"./get-module-name\";\nexport type { PluginOptions } from \"./get-module-name\";\n\nexport { hasExports, isSideEffectImport, isModule, rewriteThis };\n\nexport interface RewriteModuleStatementsAndPrepareHeaderOptions {\n exportName?: string;\n strict: boolean;\n allowTopLevelThis?: boolean;\n strictMode: boolean;\n loose?: boolean;\n importInterop?: ImportInterop;\n noInterop?: boolean;\n lazy?: Lazy;\n esNamespaceOnly?: boolean;\n filename: string | undefined;\n constantReexports?: boolean | void;\n enumerableModuleMeta?: boolean | void;\n noIncompleteNsImportDetection?: boolean | void;\n}\n\n/**\n * Perform all of the generic ES6 module rewriting needed to handle initial\n * module processing. This function will rewrite the majority of the given\n * program to reference the modules described by the returned metadata,\n * and returns a list of statements for use when initializing the module.\n */\nexport function rewriteModuleStatementsAndPrepareHeader(\n path: NodePath,\n {\n // TODO(Babel 8): Remove this\n loose,\n\n exportName,\n strict,\n allowTopLevelThis,\n strictMode,\n noInterop,\n importInterop = noInterop ? \"none\" : \"babel\",\n lazy,\n esNamespaceOnly,\n filename,\n\n constantReexports = loose,\n enumerableModuleMeta = loose,\n noIncompleteNsImportDetection,\n }: RewriteModuleStatementsAndPrepareHeaderOptions,\n) {\n validateImportInteropOption(importInterop);\n assert(isModule(path), \"Cannot process module statements in a script\");\n path.node.sourceType = \"script\";\n\n const meta = normalizeModuleAndLoadMetadata(path, exportName, {\n importInterop,\n initializeReexports: constantReexports,\n lazy,\n esNamespaceOnly,\n filename,\n });\n\n if (!allowTopLevelThis) {\n rewriteThis(path);\n }\n\n rewriteLiveReferences(path, meta);\n\n if (strictMode !== false) {\n const hasStrict = path.node.directives.some(directive => {\n return directive.value.value === \"use strict\";\n });\n if (!hasStrict) {\n path.unshiftContainer(\n \"directives\",\n directive(directiveLiteral(\"use strict\")),\n );\n }\n }\n\n const headers = [];\n if (hasExports(meta) && !strict) {\n headers.push(buildESModuleHeader(meta, enumerableModuleMeta));\n }\n\n const nameList = buildExportNameListDeclaration(path, meta);\n\n if (nameList) {\n meta.exportNameListName = nameList.name;\n headers.push(nameList.statement);\n }\n\n // Create all of the statically known named exports.\n headers.push(\n ...buildExportInitializationStatements(\n path,\n meta,\n constantReexports,\n noIncompleteNsImportDetection,\n ),\n );\n\n return { meta, headers };\n}\n\n/**\n * Flag a set of statements as hoisted above all else so that module init\n * statements all run before user code.\n */\nexport function ensureStatementsHoisted(statements: t.Statement[]) {\n // Force all of the header fields to be at the top of the file.\n statements.forEach(header => {\n // @ts-expect-error Fixme: handle _blockHoist property\n header._blockHoist = 3;\n });\n}\n\n/**\n * Given an expression for a standard import object, like \"require('foo')\",\n * wrap it in a call to the interop helpers based on the type.\n */\nexport function wrapInterop(\n programPath: NodePath,\n expr: t.Expression,\n type: InteropType,\n): t.CallExpression {\n if (type === \"none\") {\n return null;\n }\n\n if (type === \"node-namespace\") {\n return callExpression(programPath.hub.addHelper(\"interopRequireWildcard\"), [\n expr,\n booleanLiteral(true),\n ]);\n } else if (type === \"node-default\") {\n return null;\n }\n\n let helper;\n if (type === \"default\") {\n helper = \"interopRequireDefault\";\n } else if (type === \"namespace\") {\n helper = \"interopRequireWildcard\";\n } else {\n throw new Error(`Unknown interop: ${type}`);\n }\n\n return callExpression(programPath.hub.addHelper(helper), [expr]);\n}\n\n/**\n * Create the runtime initialization statements for a given requested source.\n * These will initialize all of the runtime import/export logic that\n * can't be handled statically by the statements created by\n * buildExportInitializationStatements().\n */\nexport function buildNamespaceInitStatements(\n metadata: ModuleMetadata,\n sourceMetadata: SourceModuleMetadata,\n constantReexports: boolean | void = false,\n) {\n const statements = [];\n\n let srcNamespace: t.Node = identifier(sourceMetadata.name);\n if (sourceMetadata.lazy) srcNamespace = callExpression(srcNamespace, []);\n\n for (const localName of sourceMetadata.importsNamespace) {\n if (localName === sourceMetadata.name) continue;\n\n // Create and assign binding to namespace object\n statements.push(\n template.statement`var NAME = SOURCE;`({\n NAME: localName,\n SOURCE: cloneNode(srcNamespace),\n }),\n );\n }\n if (constantReexports) {\n statements.push(...buildReexportsFromMeta(metadata, sourceMetadata, true));\n }\n for (const exportName of sourceMetadata.reexportNamespace) {\n // Assign export to namespace object.\n statements.push(\n (sourceMetadata.lazy\n ? template.statement`\n Object.defineProperty(EXPORTS, \"NAME\", {\n enumerable: true,\n get: function() {\n return NAMESPACE;\n }\n });\n `\n : template.statement`EXPORTS.NAME = NAMESPACE;`)({\n EXPORTS: metadata.exportName,\n NAME: exportName,\n NAMESPACE: cloneNode(srcNamespace),\n }),\n );\n }\n if (sourceMetadata.reexportAll) {\n const statement = buildNamespaceReexport(\n metadata,\n cloneNode(srcNamespace),\n constantReexports,\n );\n statement.loc = sourceMetadata.reexportAll.loc;\n\n // Iterate props creating getter for each prop.\n statements.push(statement);\n }\n return statements;\n}\n\nconst ReexportTemplate = {\n constant: template.statement`EXPORTS.EXPORT_NAME = NAMESPACE_IMPORT;`,\n constantComputed: template.statement`EXPORTS[\"EXPORT_NAME\"] = NAMESPACE_IMPORT;`,\n spec: template.statement`\n Object.defineProperty(EXPORTS, \"EXPORT_NAME\", {\n enumerable: true,\n get: function() {\n return NAMESPACE_IMPORT;\n },\n });\n `,\n};\n\nfunction buildReexportsFromMeta(\n meta: ModuleMetadata,\n metadata: SourceModuleMetadata,\n constantReexports: boolean,\n) {\n const namespace = metadata.lazy\n ? callExpression(identifier(metadata.name), [])\n : identifier(metadata.name);\n\n const { stringSpecifiers } = meta;\n return Array.from(metadata.reexports, ([exportName, importName]) => {\n let NAMESPACE_IMPORT: t.Expression = cloneNode(namespace);\n if (importName === \"default\" && metadata.interop === \"node-default\") {\n // Nothing, it's ok as-is\n } else if (stringSpecifiers.has(importName)) {\n NAMESPACE_IMPORT = memberExpression(\n NAMESPACE_IMPORT,\n stringLiteral(importName),\n true,\n );\n } else {\n NAMESPACE_IMPORT = memberExpression(\n NAMESPACE_IMPORT,\n identifier(importName),\n );\n }\n const astNodes = {\n EXPORTS: meta.exportName,\n EXPORT_NAME: exportName,\n NAMESPACE_IMPORT,\n };\n if (constantReexports || isIdentifier(NAMESPACE_IMPORT)) {\n if (stringSpecifiers.has(exportName)) {\n return ReexportTemplate.constantComputed(astNodes);\n } else {\n return ReexportTemplate.constant(astNodes);\n }\n } else {\n return ReexportTemplate.spec(astNodes);\n }\n });\n}\n\n/**\n * Build an \"__esModule\" header statement setting the property on a given object.\n */\nfunction buildESModuleHeader(\n metadata: ModuleMetadata,\n enumerableModuleMeta: boolean | void = false,\n) {\n return (\n enumerableModuleMeta\n ? template.statement`\n EXPORTS.__esModule = true;\n `\n : template.statement`\n Object.defineProperty(EXPORTS, \"__esModule\", {\n value: true,\n });\n `\n )({ EXPORTS: metadata.exportName });\n}\n\n/**\n * Create a re-export initialization loop for a specific imported namespace.\n */\nfunction buildNamespaceReexport(\n metadata: ModuleMetadata,\n namespace: t.Identifier | t.CallExpression,\n constantReexports: boolean | void,\n) {\n return (\n constantReexports\n ? template.statement`\n Object.keys(NAMESPACE).forEach(function(key) {\n if (key === \"default\" || key === \"__esModule\") return;\n VERIFY_NAME_LIST;\n if (key in EXPORTS && EXPORTS[key] === NAMESPACE[key]) return;\n\n EXPORTS[key] = NAMESPACE[key];\n });\n `\n : // Also skip already assigned bindings if they are strictly equal\n // to be somewhat more spec-compliant when a file has multiple\n // namespace re-exports that would cause a binding to be exported\n // multiple times. However, multiple bindings of the same name that\n // export the same primitive value are silently skipped\n // (the spec requires an \"ambiguous bindings\" early error here).\n template.statement`\n Object.keys(NAMESPACE).forEach(function(key) {\n if (key === \"default\" || key === \"__esModule\") return;\n VERIFY_NAME_LIST;\n if (key in EXPORTS && EXPORTS[key] === NAMESPACE[key]) return;\n\n Object.defineProperty(EXPORTS, key, {\n enumerable: true,\n get: function() {\n return NAMESPACE[key];\n },\n });\n });\n `\n )({\n NAMESPACE: namespace,\n EXPORTS: metadata.exportName,\n VERIFY_NAME_LIST: metadata.exportNameListName\n ? template`\n if (Object.prototype.hasOwnProperty.call(EXPORTS_LIST, key)) return;\n `({ EXPORTS_LIST: metadata.exportNameListName })\n : null,\n });\n}\n\n/**\n * Build a statement declaring a variable that contains all of the exported\n * variable names in an object so they can easily be referenced from an\n * export * from statement to check for conflicts.\n */\nfunction buildExportNameListDeclaration(\n programPath: NodePath,\n metadata: ModuleMetadata,\n) {\n const exportedVars = Object.create(null);\n for (const data of metadata.local.values()) {\n for (const name of data.names) {\n exportedVars[name] = true;\n }\n }\n\n let hasReexport = false;\n for (const data of metadata.source.values()) {\n for (const exportName of data.reexports.keys()) {\n exportedVars[exportName] = true;\n }\n for (const exportName of data.reexportNamespace) {\n exportedVars[exportName] = true;\n }\n\n hasReexport = hasReexport || !!data.reexportAll;\n }\n\n if (!hasReexport || Object.keys(exportedVars).length === 0) return null;\n\n const name = programPath.scope.generateUidIdentifier(\"exportNames\");\n\n delete exportedVars.default;\n\n return {\n name: name.name,\n statement: variableDeclaration(\"var\", [\n variableDeclarator(name, valueToNode(exportedVars)),\n ]),\n };\n}\n\n/**\n * Create a set of statements that will initialize all of the statically-known\n * export names with their expected values.\n */\nfunction buildExportInitializationStatements(\n programPath: NodePath,\n metadata: ModuleMetadata,\n constantReexports: boolean | void = false,\n noIncompleteNsImportDetection: boolean | void = false,\n) {\n const initStatements: Array<[string, t.Statement | null]> = [];\n\n for (const [localName, data] of metadata.local) {\n if (data.kind === \"import\") {\n // No-open since these are explicitly set with the \"reexports\" block.\n } else if (data.kind === \"hoisted\") {\n initStatements.push([\n // data.names is always of length 1 because a hoisted export\n // name must be id of a function declaration\n data.names[0],\n buildInitStatement(metadata, data.names, identifier(localName)),\n ]);\n } else if (!noIncompleteNsImportDetection) {\n for (const exportName of data.names) {\n initStatements.push([exportName, null]);\n }\n }\n }\n\n for (const data of metadata.source.values()) {\n if (!constantReexports) {\n const reexportsStatements = buildReexportsFromMeta(metadata, data, false);\n const reexports = [...data.reexports.keys()];\n for (let i = 0; i < reexportsStatements.length; i++) {\n initStatements.push([reexports[i], reexportsStatements[i]]);\n }\n }\n if (!noIncompleteNsImportDetection) {\n for (const exportName of data.reexportNamespace) {\n initStatements.push([exportName, null]);\n }\n }\n }\n\n // https://tc39.es/ecma262/#sec-module-namespace-exotic-objects\n // The [Exports] list is ordered as if an Array of those String values\n // had been sorted using %Array.prototype.sort% using undefined as comparefn\n initStatements.sort(([a], [b]) => {\n if (a < b) return -1;\n if (b < a) return 1;\n return 0;\n });\n\n const results = [];\n if (noIncompleteNsImportDetection) {\n for (const [, initStatement] of initStatements) {\n results.push(initStatement);\n }\n } else {\n // We generate init statements (`exports.a = exports.b = ... = void 0`)\n // for every 100 exported names to avoid deeply-nested AST structures.\n const chunkSize = 100;\n for (let i = 0; i < initStatements.length; i += chunkSize) {\n let uninitializedExportNames = [];\n for (let j = 0; j < chunkSize && i + j < initStatements.length; j++) {\n const [exportName, initStatement] = initStatements[i + j];\n if (initStatement !== null) {\n if (uninitializedExportNames.length > 0) {\n results.push(\n buildInitStatement(\n metadata,\n uninitializedExportNames,\n programPath.scope.buildUndefinedNode(),\n ),\n );\n // reset after uninitializedExportNames has been transformed\n // to init statements\n uninitializedExportNames = [];\n }\n results.push(initStatement);\n } else {\n uninitializedExportNames.push(exportName);\n }\n }\n if (uninitializedExportNames.length > 0) {\n results.push(\n buildInitStatement(\n metadata,\n uninitializedExportNames,\n programPath.scope.buildUndefinedNode(),\n ),\n );\n }\n }\n }\n\n return results;\n}\n\n/**\n * Given a set of export names, create a set of nested assignments to\n * initialize them all to a given expression.\n */\nconst InitTemplate = {\n computed: template.expression`EXPORTS[\"NAME\"] = VALUE`,\n default: template.expression`EXPORTS.NAME = VALUE`,\n};\n\nfunction buildInitStatement(\n metadata: ModuleMetadata,\n exportNames: string[],\n initExpr: t.Expression,\n) {\n const { stringSpecifiers, exportName: EXPORTS } = metadata;\n return expressionStatement(\n exportNames.reduce((acc, exportName) => {\n const params = {\n EXPORTS,\n NAME: exportName,\n VALUE: acc,\n };\n if (stringSpecifiers.has(exportName)) {\n return InitTemplate.computed(params);\n } else {\n return InitTemplate.default(params);\n }\n }, initExpr),\n );\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_assert","require","_t","_template","_helperModuleImports","_rewriteThis","_rewriteLiveReferences","_normalizeAndLoadMetadata","_dynamicImport","_getModuleName","booleanLiteral","callExpression","cloneNode","directive","directiveLiteral","expressionStatement","identifier","isIdentifier","memberExpression","stringLiteral","valueToNode","variableDeclaration","variableDeclarator","exports","getDynamicImportSource","rewriteModuleStatementsAndPrepareHeader","path","exportName","strict","allowTopLevelThis","strictMode","noInterop","importInterop","lazy","esNamespaceOnly","filename","constantReexports","arguments","loose","enumerableModuleMeta","noIncompleteNsImportDetection","validateImportInteropOption","assert","isModule","node","sourceType","meta","normalizeModuleAndLoadMetadata","initializeReexports","rewriteThis","rewriteLiveReferences","hasStrict","directives","some","value","unshiftContainer","headers","hasExports","push","buildESModuleHeader","nameList","buildExportNameListDeclaration","exportNameListName","name","statement","buildExportInitializationStatements","ensureStatementsHoisted","statements","forEach","header","_blockHoist","wrapInterop","programPath","expr","type","hub","addHelper","helper","Error","buildNamespaceInitStatements","metadata","sourceMetadata","srcNamespace","localName","importsNamespace","template","NAME","SOURCE","buildReexportsFromMeta","reexportNamespace","EXPORTS","NAMESPACE","reexportAll","buildNamespaceReexport","loc","ReexportTemplate","constant","constantComputed","spec","namespace","stringSpecifiers","Array","from","reexports","importName","NAMESPACE_IMPORT","interop","has","astNodes","EXPORT_NAME","VERIFY_NAME_LIST","EXPORTS_LIST","exportedVars","Object","create","data","local","values","names","hasReexport","source","keys","length","scope","generateUidIdentifier","default","initStatements","kind","buildInitStatement","reexportsStatements","i","sort","a","b","results","initStatement","chunkSize","uninitializedExportNames","j","buildUndefinedNode","InitTemplate","computed","expression","exportNames","initExpr","reduce","acc","params","VALUE"],"sources":["../src/index.ts"],"sourcesContent":["import assert from \"assert\";\nimport {\n booleanLiteral,\n callExpression,\n cloneNode,\n directive,\n directiveLiteral,\n expressionStatement,\n identifier,\n isIdentifier,\n memberExpression,\n stringLiteral,\n valueToNode,\n variableDeclaration,\n variableDeclarator,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport template from \"@babel/template\";\n\nimport { isModule } from \"@babel/helper-module-imports\";\n\nimport rewriteThis from \"./rewrite-this\";\nimport rewriteLiveReferences from \"./rewrite-live-references\";\nimport normalizeModuleAndLoadMetadata, {\n hasExports,\n isSideEffectImport,\n validateImportInteropOption,\n} from \"./normalize-and-load-metadata\";\nimport type {\n ImportInterop,\n InteropType,\n Lazy,\n ModuleMetadata,\n SourceModuleMetadata,\n} from \"./normalize-and-load-metadata\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport { buildDynamicImport } from \"./dynamic-import\";\n\nif (!process.env.BABEL_8_BREAKING) {\n if (!USE_ESM) {\n if (!IS_STANDALONE) {\n // eslint-disable-next-line no-restricted-globals\n exports.getDynamicImportSource =\n // eslint-disable-next-line no-restricted-globals\n require(\"./dynamic-import\").getDynamicImportSource;\n }\n }\n}\n\nexport { default as getModuleName } from \"./get-module-name\";\nexport type { PluginOptions } from \"./get-module-name\";\n\nexport { hasExports, isSideEffectImport, isModule, rewriteThis };\n\nexport interface RewriteModuleStatementsAndPrepareHeaderOptions {\n exportName?: string;\n strict: boolean;\n allowTopLevelThis?: boolean;\n strictMode: boolean;\n loose?: boolean;\n importInterop?: ImportInterop;\n noInterop?: boolean;\n lazy?: Lazy;\n esNamespaceOnly?: boolean;\n filename: string | undefined;\n constantReexports?: boolean | void;\n enumerableModuleMeta?: boolean | void;\n noIncompleteNsImportDetection?: boolean | void;\n}\n\n/**\n * Perform all of the generic ES6 module rewriting needed to handle initial\n * module processing. This function will rewrite the majority of the given\n * program to reference the modules described by the returned metadata,\n * and returns a list of statements for use when initializing the module.\n */\nexport function rewriteModuleStatementsAndPrepareHeader(\n path: NodePath,\n {\n exportName,\n strict,\n allowTopLevelThis,\n strictMode,\n noInterop,\n importInterop = noInterop ? \"none\" : \"babel\",\n lazy,\n esNamespaceOnly,\n filename,\n\n constantReexports = process.env.BABEL_8_BREAKING\n ? undefined\n : arguments[1].loose,\n enumerableModuleMeta = process.env.BABEL_8_BREAKING\n ? undefined\n : arguments[1].loose,\n noIncompleteNsImportDetection,\n }: RewriteModuleStatementsAndPrepareHeaderOptions,\n) {\n validateImportInteropOption(importInterop);\n assert(isModule(path), \"Cannot process module statements in a script\");\n path.node.sourceType = \"script\";\n\n const meta = normalizeModuleAndLoadMetadata(path, exportName, {\n importInterop,\n initializeReexports: constantReexports,\n lazy,\n esNamespaceOnly,\n filename,\n });\n\n if (!allowTopLevelThis) {\n rewriteThis(path);\n }\n\n rewriteLiveReferences(path, meta);\n\n if (strictMode !== false) {\n const hasStrict = path.node.directives.some(directive => {\n return directive.value.value === \"use strict\";\n });\n if (!hasStrict) {\n path.unshiftContainer(\n \"directives\",\n directive(directiveLiteral(\"use strict\")),\n );\n }\n }\n\n const headers = [];\n if (hasExports(meta) && !strict) {\n headers.push(buildESModuleHeader(meta, enumerableModuleMeta));\n }\n\n const nameList = buildExportNameListDeclaration(path, meta);\n\n if (nameList) {\n meta.exportNameListName = nameList.name;\n headers.push(nameList.statement);\n }\n\n // Create all of the statically known named exports.\n headers.push(\n ...buildExportInitializationStatements(\n path,\n meta,\n constantReexports,\n noIncompleteNsImportDetection,\n ),\n );\n\n return { meta, headers };\n}\n\n/**\n * Flag a set of statements as hoisted above all else so that module init\n * statements all run before user code.\n */\nexport function ensureStatementsHoisted(statements: t.Statement[]) {\n // Force all of the header fields to be at the top of the file.\n statements.forEach(header => {\n // @ts-expect-error Fixme: handle _blockHoist property\n header._blockHoist = 3;\n });\n}\n\n/**\n * Given an expression for a standard import object, like \"require('foo')\",\n * wrap it in a call to the interop helpers based on the type.\n */\nexport function wrapInterop(\n programPath: NodePath,\n expr: t.Expression,\n type: InteropType,\n): t.CallExpression {\n if (type === \"none\") {\n return null;\n }\n\n if (type === \"node-namespace\") {\n return callExpression(programPath.hub.addHelper(\"interopRequireWildcard\"), [\n expr,\n booleanLiteral(true),\n ]);\n } else if (type === \"node-default\") {\n return null;\n }\n\n let helper;\n if (type === \"default\") {\n helper = \"interopRequireDefault\";\n } else if (type === \"namespace\") {\n helper = \"interopRequireWildcard\";\n } else {\n throw new Error(`Unknown interop: ${type}`);\n }\n\n return callExpression(programPath.hub.addHelper(helper), [expr]);\n}\n\n/**\n * Create the runtime initialization statements for a given requested source.\n * These will initialize all of the runtime import/export logic that\n * can't be handled statically by the statements created by\n * buildExportInitializationStatements().\n */\nexport function buildNamespaceInitStatements(\n metadata: ModuleMetadata,\n sourceMetadata: SourceModuleMetadata,\n constantReexports: boolean | void = false,\n) {\n const statements = [];\n\n let srcNamespace: t.Node = identifier(sourceMetadata.name);\n if (sourceMetadata.lazy) srcNamespace = callExpression(srcNamespace, []);\n\n for (const localName of sourceMetadata.importsNamespace) {\n if (localName === sourceMetadata.name) continue;\n\n // Create and assign binding to namespace object\n statements.push(\n template.statement`var NAME = SOURCE;`({\n NAME: localName,\n SOURCE: cloneNode(srcNamespace),\n }),\n );\n }\n if (constantReexports) {\n statements.push(...buildReexportsFromMeta(metadata, sourceMetadata, true));\n }\n for (const exportName of sourceMetadata.reexportNamespace) {\n // Assign export to namespace object.\n statements.push(\n (sourceMetadata.lazy\n ? template.statement`\n Object.defineProperty(EXPORTS, \"NAME\", {\n enumerable: true,\n get: function() {\n return NAMESPACE;\n }\n });\n `\n : template.statement`EXPORTS.NAME = NAMESPACE;`)({\n EXPORTS: metadata.exportName,\n NAME: exportName,\n NAMESPACE: cloneNode(srcNamespace),\n }),\n );\n }\n if (sourceMetadata.reexportAll) {\n const statement = buildNamespaceReexport(\n metadata,\n cloneNode(srcNamespace),\n constantReexports,\n );\n statement.loc = sourceMetadata.reexportAll.loc;\n\n // Iterate props creating getter for each prop.\n statements.push(statement);\n }\n return statements;\n}\n\nconst ReexportTemplate = {\n constant: template.statement`EXPORTS.EXPORT_NAME = NAMESPACE_IMPORT;`,\n constantComputed: template.statement`EXPORTS[\"EXPORT_NAME\"] = NAMESPACE_IMPORT;`,\n spec: template.statement`\n Object.defineProperty(EXPORTS, \"EXPORT_NAME\", {\n enumerable: true,\n get: function() {\n return NAMESPACE_IMPORT;\n },\n });\n `,\n};\n\nfunction buildReexportsFromMeta(\n meta: ModuleMetadata,\n metadata: SourceModuleMetadata,\n constantReexports: boolean,\n) {\n const namespace = metadata.lazy\n ? callExpression(identifier(metadata.name), [])\n : identifier(metadata.name);\n\n const { stringSpecifiers } = meta;\n return Array.from(metadata.reexports, ([exportName, importName]) => {\n let NAMESPACE_IMPORT: t.Expression = cloneNode(namespace);\n if (importName === \"default\" && metadata.interop === \"node-default\") {\n // Nothing, it's ok as-is\n } else if (stringSpecifiers.has(importName)) {\n NAMESPACE_IMPORT = memberExpression(\n NAMESPACE_IMPORT,\n stringLiteral(importName),\n true,\n );\n } else {\n NAMESPACE_IMPORT = memberExpression(\n NAMESPACE_IMPORT,\n identifier(importName),\n );\n }\n const astNodes = {\n EXPORTS: meta.exportName,\n EXPORT_NAME: exportName,\n NAMESPACE_IMPORT,\n };\n if (constantReexports || isIdentifier(NAMESPACE_IMPORT)) {\n if (stringSpecifiers.has(exportName)) {\n return ReexportTemplate.constantComputed(astNodes);\n } else {\n return ReexportTemplate.constant(astNodes);\n }\n } else {\n return ReexportTemplate.spec(astNodes);\n }\n });\n}\n\n/**\n * Build an \"__esModule\" header statement setting the property on a given object.\n */\nfunction buildESModuleHeader(\n metadata: ModuleMetadata,\n enumerableModuleMeta: boolean | void = false,\n) {\n return (\n enumerableModuleMeta\n ? template.statement`\n EXPORTS.__esModule = true;\n `\n : template.statement`\n Object.defineProperty(EXPORTS, \"__esModule\", {\n value: true,\n });\n `\n )({ EXPORTS: metadata.exportName });\n}\n\n/**\n * Create a re-export initialization loop for a specific imported namespace.\n */\nfunction buildNamespaceReexport(\n metadata: ModuleMetadata,\n namespace: t.Identifier | t.CallExpression,\n constantReexports: boolean | void,\n) {\n return (\n constantReexports\n ? template.statement`\n Object.keys(NAMESPACE).forEach(function(key) {\n if (key === \"default\" || key === \"__esModule\") return;\n VERIFY_NAME_LIST;\n if (key in EXPORTS && EXPORTS[key] === NAMESPACE[key]) return;\n\n EXPORTS[key] = NAMESPACE[key];\n });\n `\n : // Also skip already assigned bindings if they are strictly equal\n // to be somewhat more spec-compliant when a file has multiple\n // namespace re-exports that would cause a binding to be exported\n // multiple times. However, multiple bindings of the same name that\n // export the same primitive value are silently skipped\n // (the spec requires an \"ambiguous bindings\" early error here).\n template.statement`\n Object.keys(NAMESPACE).forEach(function(key) {\n if (key === \"default\" || key === \"__esModule\") return;\n VERIFY_NAME_LIST;\n if (key in EXPORTS && EXPORTS[key] === NAMESPACE[key]) return;\n\n Object.defineProperty(EXPORTS, key, {\n enumerable: true,\n get: function() {\n return NAMESPACE[key];\n },\n });\n });\n `\n )({\n NAMESPACE: namespace,\n EXPORTS: metadata.exportName,\n VERIFY_NAME_LIST: metadata.exportNameListName\n ? template`\n if (Object.prototype.hasOwnProperty.call(EXPORTS_LIST, key)) return;\n `({ EXPORTS_LIST: metadata.exportNameListName })\n : null,\n });\n}\n\n/**\n * Build a statement declaring a variable that contains all of the exported\n * variable names in an object so they can easily be referenced from an\n * export * from statement to check for conflicts.\n */\nfunction buildExportNameListDeclaration(\n programPath: NodePath,\n metadata: ModuleMetadata,\n) {\n const exportedVars = Object.create(null);\n for (const data of metadata.local.values()) {\n for (const name of data.names) {\n exportedVars[name] = true;\n }\n }\n\n let hasReexport = false;\n for (const data of metadata.source.values()) {\n for (const exportName of data.reexports.keys()) {\n exportedVars[exportName] = true;\n }\n for (const exportName of data.reexportNamespace) {\n exportedVars[exportName] = true;\n }\n\n hasReexport = hasReexport || !!data.reexportAll;\n }\n\n if (!hasReexport || Object.keys(exportedVars).length === 0) return null;\n\n const name = programPath.scope.generateUidIdentifier(\"exportNames\");\n\n delete exportedVars.default;\n\n return {\n name: name.name,\n statement: variableDeclaration(\"var\", [\n variableDeclarator(name, valueToNode(exportedVars)),\n ]),\n };\n}\n\n/**\n * Create a set of statements that will initialize all of the statically-known\n * export names with their expected values.\n */\nfunction buildExportInitializationStatements(\n programPath: NodePath,\n metadata: ModuleMetadata,\n constantReexports: boolean | void = false,\n noIncompleteNsImportDetection: boolean | void = false,\n) {\n const initStatements: Array<[string, t.Statement | null]> = [];\n\n for (const [localName, data] of metadata.local) {\n if (data.kind === \"import\") {\n // No-open since these are explicitly set with the \"reexports\" block.\n } else if (data.kind === \"hoisted\") {\n initStatements.push([\n // data.names is always of length 1 because a hoisted export\n // name must be id of a function declaration\n data.names[0],\n buildInitStatement(metadata, data.names, identifier(localName)),\n ]);\n } else if (!noIncompleteNsImportDetection) {\n for (const exportName of data.names) {\n initStatements.push([exportName, null]);\n }\n }\n }\n\n for (const data of metadata.source.values()) {\n if (!constantReexports) {\n const reexportsStatements = buildReexportsFromMeta(metadata, data, false);\n const reexports = [...data.reexports.keys()];\n for (let i = 0; i < reexportsStatements.length; i++) {\n initStatements.push([reexports[i], reexportsStatements[i]]);\n }\n }\n if (!noIncompleteNsImportDetection) {\n for (const exportName of data.reexportNamespace) {\n initStatements.push([exportName, null]);\n }\n }\n }\n\n // https://tc39.es/ecma262/#sec-module-namespace-exotic-objects\n // The [Exports] list is ordered as if an Array of those String values\n // had been sorted using %Array.prototype.sort% using undefined as comparefn\n initStatements.sort(([a], [b]) => {\n if (a < b) return -1;\n if (b < a) return 1;\n return 0;\n });\n\n const results = [];\n if (noIncompleteNsImportDetection) {\n for (const [, initStatement] of initStatements) {\n results.push(initStatement);\n }\n } else {\n // We generate init statements (`exports.a = exports.b = ... = void 0`)\n // for every 100 exported names to avoid deeply-nested AST structures.\n const chunkSize = 100;\n for (let i = 0; i < initStatements.length; i += chunkSize) {\n let uninitializedExportNames = [];\n for (let j = 0; j < chunkSize && i + j < initStatements.length; j++) {\n const [exportName, initStatement] = initStatements[i + j];\n if (initStatement !== null) {\n if (uninitializedExportNames.length > 0) {\n results.push(\n buildInitStatement(\n metadata,\n uninitializedExportNames,\n programPath.scope.buildUndefinedNode(),\n ),\n );\n // reset after uninitializedExportNames has been transformed\n // to init statements\n uninitializedExportNames = [];\n }\n results.push(initStatement);\n } else {\n uninitializedExportNames.push(exportName);\n }\n }\n if (uninitializedExportNames.length > 0) {\n results.push(\n buildInitStatement(\n metadata,\n uninitializedExportNames,\n programPath.scope.buildUndefinedNode(),\n ),\n );\n }\n }\n }\n\n return results;\n}\n\n/**\n * Given a set of export names, create a set of nested assignments to\n * initialize them all to a given expression.\n */\nconst InitTemplate = {\n computed: template.expression`EXPORTS[\"NAME\"] = VALUE`,\n default: template.expression`EXPORTS.NAME = VALUE`,\n};\n\nfunction buildInitStatement(\n metadata: ModuleMetadata,\n exportNames: string[],\n initExpr: t.Expression,\n) {\n const { stringSpecifiers, exportName: EXPORTS } = metadata;\n return expressionStatement(\n exportNames.reduce((acc, exportName) => {\n const params = {\n EXPORTS,\n NAME: exportName,\n VALUE: acc,\n };\n if (stringSpecifiers.has(exportName)) {\n return InitTemplate.computed(params);\n } else {\n return InitTemplate.default(params);\n }\n }, initExpr),\n );\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js b/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js index a2f9e9b22..edcac69a0 100644 --- a/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js +++ b/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js @@ -90,7 +90,7 @@ function assertExportSpecifier(path) { if (path.isExportSpecifier()) { return; } else if (path.isExportNamespaceSpecifier()) { - throw path.buildCodeFrameError("Export namespace should be first transformed by `@babel/plugin-proposal-export-namespace-from`."); + throw path.buildCodeFrameError("Export namespace should be first transformed by `@babel/plugin-transform-export-namespace-from`."); } else { throw path.buildCodeFrameError("Unexpected export specifier type"); } diff --git a/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js.map b/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js.map index 08d438cfc..9fe19aaa0 100644 --- a/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js.map +++ b/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js.map @@ -1 +1 @@ -{"version":3,"names":["hasExports","metadata","isSideEffectImport","source","imports","size","importsNamespace","reexports","reexportNamespace","reexportAll","validateImportInteropOption","importInterop","Error","resolveImportInterop","filename","normalizeModuleAndLoadMetadata","programPath","exportName","initializeReexports","lazy","esNamespaceOnly","scope","generateUidIdentifier","name","stringSpecifiers","Set","nameAnonymousExports","local","sources","getModuleMetadata","removeImportExportDeclarations","values","next","value","resolvedInterop","interop","exportNameListName","getExportSpecifierName","path","isIdentifier","node","isStringLiteral","stringValue","isIdentifierName","add","type","assertExportSpecifier","isExportSpecifier","isExportNamespaceSpecifier","buildCodeFrameError","localData","getLocalExportMetadata","sourceData","Map","getData","sourceNode","data","get","basename","extname","loc","referenced","set","forEach","child","isImportDeclaration","spec","isImportDefaultSpecifier","localName","reexport","delete","names","isImportNamespaceSpecifier","isImportSpecifier","importName","isExportAllDeclaration","isExportNamedDeclaration","isExportDefaultDeclaration","needsDefault","needsNamed","test","Array","isArray","indexOf","bindingKindLookup","kind","declaration","isFunctionDeclaration","isClassDeclaration","isVariableDeclaration","Object","keys","getOuterBindingIdentifiers","localMetadata","getLocalMetadata","idPath","undefined","ids","getOuterBindingIdentifierPaths","push","exported","splitExportDeclaration","remove","_blockHoist","replaceWith"],"sources":["../src/normalize-and-load-metadata.ts"],"sourcesContent":["import { basename, extname } from \"path\";\nimport type * as t from \"@babel/types\";\n\nimport { isIdentifierName } from \"@babel/helper-validator-identifier\";\nimport splitExportDeclaration from \"@babel/helper-split-export-declaration\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport interface ModuleMetadata {\n exportName: string;\n // The name of the variable that will reference an object containing export names.\n exportNameListName: null | string;\n hasExports: boolean;\n // Lookup from local binding to export information.\n local: Map;\n // Lookup of source file to source file metadata.\n source: Map;\n // List of names that should only be printed as string literals.\n // i.e. `import { \"any unicode\" as foo } from \"some-module\"`\n // `stringSpecifiers` is Set(1) [\"any unicode\"]\n // In most cases `stringSpecifiers` is an empty Set\n stringSpecifiers: Set;\n}\n\nexport type InteropType =\n | \"default\" // Babel interop for default-only imports\n | \"namespace\" // Babel interop for namespace or default+named imports\n | \"node-default\" // Node.js interop for default-only imports\n | \"node-namespace\" // Node.js interop for namespace or default+named imports\n | \"none\"; // No interop, or named-only imports\n\nexport type ImportInterop =\n | \"none\"\n | \"babel\"\n | \"node\"\n | ((source: string, filename?: string) => \"none\" | \"babel\" | \"node\");\n\nexport type Lazy = boolean | string[] | ((source: string) => boolean);\n\nexport interface SourceModuleMetadata {\n // A unique variable name to use for this namespace object. Centralized for simplicity.\n name: string;\n loc: t.SourceLocation | undefined | null;\n interop: InteropType;\n // Local binding to reference from this source namespace. Key: Local name, value: Import name\n imports: Map;\n // Local names that reference namespace object.\n importsNamespace: Set;\n // Reexports to create for namespace. Key: Export name, value: Import name\n reexports: Map;\n // List of names to re-export namespace as.\n reexportNamespace: Set;\n // Tracks if the source should be re-exported.\n reexportAll: null | {\n loc: t.SourceLocation | undefined | null;\n };\n lazy?: Lazy;\n referenced: boolean;\n}\n\nexport interface LocalExportMetadata {\n names: Array; // names of exports,\n kind: \"import\" | \"hoisted\" | \"block\" | \"var\";\n}\n\n/**\n * Check if the module has any exports that need handling.\n */\nexport function hasExports(metadata: ModuleMetadata) {\n return metadata.hasExports;\n}\n\n/**\n * Check if a given source is an anonymous import, e.g. \"import 'foo';\"\n */\nexport function isSideEffectImport(source: SourceModuleMetadata) {\n return (\n source.imports.size === 0 &&\n source.importsNamespace.size === 0 &&\n source.reexports.size === 0 &&\n source.reexportNamespace.size === 0 &&\n !source.reexportAll\n );\n}\n\nexport function validateImportInteropOption(\n importInterop: any,\n): importInterop is ImportInterop {\n if (\n typeof importInterop !== \"function\" &&\n importInterop !== \"none\" &&\n importInterop !== \"babel\" &&\n importInterop !== \"node\"\n ) {\n throw new Error(\n `.importInterop must be one of \"none\", \"babel\", \"node\", or a function returning one of those values (received ${importInterop}).`,\n );\n }\n return importInterop;\n}\n\nfunction resolveImportInterop(\n importInterop: ImportInterop,\n source: string,\n filename: string | undefined,\n) {\n if (typeof importInterop === \"function\") {\n return validateImportInteropOption(importInterop(source, filename));\n }\n return importInterop;\n}\n\n/**\n * Remove all imports and exports from the file, and return all metadata\n * needed to reconstruct the module's behavior.\n */\nexport default function normalizeModuleAndLoadMetadata(\n programPath: NodePath,\n exportName: string,\n {\n importInterop,\n initializeReexports = false,\n lazy = false,\n esNamespaceOnly = false,\n filename,\n }: {\n importInterop: ImportInterop;\n initializeReexports: boolean | void;\n lazy: Lazy;\n esNamespaceOnly: boolean;\n filename: string;\n },\n): ModuleMetadata {\n if (!exportName) {\n exportName = programPath.scope.generateUidIdentifier(\"exports\").name;\n }\n const stringSpecifiers = new Set();\n\n nameAnonymousExports(programPath);\n\n const { local, sources, hasExports } = getModuleMetadata(\n programPath,\n { initializeReexports, lazy },\n stringSpecifiers,\n );\n\n removeImportExportDeclarations(programPath);\n\n // Reuse the imported namespace name if there is one.\n for (const [source, metadata] of sources) {\n if (metadata.importsNamespace.size > 0) {\n // This is kind of gross. If we stop using `loose: true` we should\n // just make this destructuring assignment.\n metadata.name = metadata.importsNamespace.values().next().value;\n }\n\n const resolvedInterop = resolveImportInterop(\n importInterop,\n source,\n filename,\n );\n\n if (resolvedInterop === \"none\") {\n metadata.interop = \"none\";\n } else if (resolvedInterop === \"node\" && metadata.interop === \"namespace\") {\n metadata.interop = \"node-namespace\";\n } else if (resolvedInterop === \"node\" && metadata.interop === \"default\") {\n metadata.interop = \"node-default\";\n } else if (esNamespaceOnly && metadata.interop === \"namespace\") {\n // Both the default and namespace interops pass through __esModule\n // objects, but the namespace interop is used to enable Babel's\n // destructuring-like interop behavior for normal CommonJS.\n // Since some tooling has started to remove that behavior, we expose\n // it as the `esNamespace` option.\n metadata.interop = \"default\";\n }\n }\n\n return {\n exportName,\n exportNameListName: null,\n hasExports,\n local,\n source: sources,\n stringSpecifiers,\n };\n}\n\nfunction getExportSpecifierName(\n path: NodePath,\n stringSpecifiers: Set,\n): string {\n if (path.isIdentifier()) {\n return path.node.name;\n } else if (path.isStringLiteral()) {\n const stringValue = path.node.value;\n // add specifier value to `stringSpecifiers` only when it can not be converted to an identifier name\n // i.e In `import { \"foo\" as bar }`\n // we do not consider `\"foo\"` to be a `stringSpecifier` because we can treat it as\n // `import { foo as bar }`\n // This helps minimize the size of `stringSpecifiers` and reduce overhead of checking valid identifier names\n // when building transpiled code from metadata\n if (!isIdentifierName(stringValue)) {\n stringSpecifiers.add(stringValue);\n }\n return stringValue;\n } else {\n throw new Error(\n `Expected export specifier to be either Identifier or StringLiteral, got ${path.node.type}`,\n );\n }\n}\n\nfunction assertExportSpecifier(\n path: NodePath,\n): asserts path is NodePath {\n if (path.isExportSpecifier()) {\n return;\n } else if (path.isExportNamespaceSpecifier()) {\n throw path.buildCodeFrameError(\n \"Export namespace should be first transformed by `@babel/plugin-proposal-export-namespace-from`.\",\n );\n } else {\n throw path.buildCodeFrameError(\"Unexpected export specifier type\");\n }\n}\n\n/**\n * Get metadata about the imports and exports present in this module.\n */\nfunction getModuleMetadata(\n programPath: NodePath,\n {\n lazy,\n initializeReexports,\n }: {\n // todo(flow-ts) changed from boolean, to match expected usage inside the function\n lazy: boolean | string[] | ((source: string) => boolean);\n initializeReexports: boolean | void;\n },\n stringSpecifiers: Set,\n) {\n const localData = getLocalExportMetadata(\n programPath,\n initializeReexports,\n stringSpecifiers,\n );\n\n const sourceData = new Map();\n const getData = (sourceNode: t.StringLiteral) => {\n const source = sourceNode.value;\n\n let data = sourceData.get(source);\n if (!data) {\n data = {\n name: programPath.scope.generateUidIdentifier(\n basename(source, extname(source)),\n ).name,\n\n interop: \"none\",\n\n loc: null,\n\n // Data about the requested sources and names.\n imports: new Map(),\n importsNamespace: new Set(),\n\n // Metadata about data that is passed directly from source to export.\n reexports: new Map(),\n reexportNamespace: new Set(),\n reexportAll: null,\n\n lazy: false,\n\n referenced: false,\n };\n sourceData.set(source, data);\n }\n return data;\n };\n let hasExports = false;\n programPath.get(\"body\").forEach(child => {\n if (child.isImportDeclaration()) {\n const data = getData(child.node.source);\n if (!data.loc) data.loc = child.node.loc;\n\n child.get(\"specifiers\").forEach(spec => {\n if (spec.isImportDefaultSpecifier()) {\n const localName = spec.get(\"local\").node.name;\n\n data.imports.set(localName, \"default\");\n\n const reexport = localData.get(localName);\n if (reexport) {\n localData.delete(localName);\n\n reexport.names.forEach(name => {\n data.reexports.set(name, \"default\");\n });\n data.referenced = true;\n }\n } else if (spec.isImportNamespaceSpecifier()) {\n const localName = spec.get(\"local\").node.name;\n\n data.importsNamespace.add(localName);\n const reexport = localData.get(localName);\n if (reexport) {\n localData.delete(localName);\n\n reexport.names.forEach(name => {\n data.reexportNamespace.add(name);\n });\n data.referenced = true;\n }\n } else if (spec.isImportSpecifier()) {\n const importName = getExportSpecifierName(\n spec.get(\"imported\"),\n stringSpecifiers,\n );\n const localName = spec.get(\"local\").node.name;\n\n data.imports.set(localName, importName);\n\n const reexport = localData.get(localName);\n if (reexport) {\n localData.delete(localName);\n\n reexport.names.forEach(name => {\n data.reexports.set(name, importName);\n });\n data.referenced = true;\n }\n }\n });\n } else if (child.isExportAllDeclaration()) {\n hasExports = true;\n const data = getData(child.node.source);\n if (!data.loc) data.loc = child.node.loc;\n\n data.reexportAll = {\n loc: child.node.loc,\n };\n data.referenced = true;\n } else if (child.isExportNamedDeclaration() && child.node.source) {\n hasExports = true;\n const data = getData(child.node.source);\n if (!data.loc) data.loc = child.node.loc;\n\n child.get(\"specifiers\").forEach(spec => {\n assertExportSpecifier(spec);\n const importName = getExportSpecifierName(\n spec.get(\"local\"),\n stringSpecifiers,\n );\n const exportName = getExportSpecifierName(\n spec.get(\"exported\"),\n stringSpecifiers,\n );\n\n data.reexports.set(exportName, importName);\n data.referenced = true;\n\n if (exportName === \"__esModule\") {\n throw spec\n .get(\"exported\")\n .buildCodeFrameError('Illegal export \"__esModule\".');\n }\n });\n } else if (\n child.isExportNamedDeclaration() ||\n child.isExportDefaultDeclaration()\n ) {\n hasExports = true;\n }\n });\n\n for (const metadata of sourceData.values()) {\n let needsDefault = false;\n let needsNamed = false;\n\n if (metadata.importsNamespace.size > 0) {\n needsDefault = true;\n needsNamed = true;\n }\n\n if (metadata.reexportAll) {\n needsNamed = true;\n }\n\n for (const importName of metadata.imports.values()) {\n if (importName === \"default\") needsDefault = true;\n else needsNamed = true;\n }\n for (const importName of metadata.reexports.values()) {\n if (importName === \"default\") needsDefault = true;\n else needsNamed = true;\n }\n\n if (needsDefault && needsNamed) {\n // TODO(logan): Using the namespace interop here is unfortunate. Revisit.\n metadata.interop = \"namespace\";\n } else if (needsDefault) {\n metadata.interop = \"default\";\n }\n }\n\n for (const [source, metadata] of sourceData) {\n if (\n lazy !== false &&\n !(isSideEffectImport(metadata) || metadata.reexportAll)\n ) {\n if (lazy === true) {\n // 'true' means that local relative files are eagerly loaded and\n // dependency modules are loaded lazily.\n metadata.lazy = !/\\./.test(source);\n } else if (Array.isArray(lazy)) {\n metadata.lazy = lazy.indexOf(source) !== -1;\n } else if (typeof lazy === \"function\") {\n metadata.lazy = lazy(source);\n } else {\n throw new Error(`.lazy must be a boolean, string array, or function`);\n }\n }\n }\n\n return {\n hasExports,\n local: localData,\n sources: sourceData,\n };\n}\n\ntype ModuleBindingKind = \"import\" | \"hoisted\" | \"block\" | \"var\";\n/**\n * Get metadata about local variables that are exported.\n */\nfunction getLocalExportMetadata(\n programPath: NodePath,\n initializeReexports: boolean | void,\n stringSpecifiers: Set,\n): Map {\n const bindingKindLookup = new Map();\n\n programPath.get(\"body\").forEach((child: NodePath) => {\n let kind: ModuleBindingKind;\n if (child.isImportDeclaration()) {\n kind = \"import\";\n } else {\n if (child.isExportDefaultDeclaration()) {\n child = child.get(\"declaration\");\n }\n if (child.isExportNamedDeclaration()) {\n if (child.node.declaration) {\n child = child.get(\"declaration\");\n } else if (\n initializeReexports &&\n child.node.source &&\n child.get(\"source\").isStringLiteral()\n ) {\n child.get(\"specifiers\").forEach(spec => {\n assertExportSpecifier(spec);\n bindingKindLookup.set(spec.get(\"local\").node.name, \"block\");\n });\n return;\n }\n }\n\n if (child.isFunctionDeclaration()) {\n kind = \"hoisted\";\n } else if (child.isClassDeclaration()) {\n kind = \"block\";\n } else if (child.isVariableDeclaration({ kind: \"var\" })) {\n kind = \"var\";\n } else if (child.isVariableDeclaration()) {\n kind = \"block\";\n } else {\n return;\n }\n }\n\n Object.keys(child.getOuterBindingIdentifiers()).forEach(name => {\n bindingKindLookup.set(name, kind);\n });\n });\n\n const localMetadata = new Map();\n const getLocalMetadata = (idPath: NodePath) => {\n const localName = idPath.node.name;\n let metadata = localMetadata.get(localName);\n\n if (!metadata) {\n const kind = bindingKindLookup.get(localName);\n\n if (kind === undefined) {\n throw idPath.buildCodeFrameError(\n `Exporting local \"${localName}\", which is not declared.`,\n );\n }\n\n metadata = {\n names: [],\n kind,\n };\n localMetadata.set(localName, metadata);\n }\n return metadata;\n };\n\n programPath.get(\"body\").forEach(child => {\n if (\n child.isExportNamedDeclaration() &&\n (initializeReexports || !child.node.source)\n ) {\n if (child.node.declaration) {\n const declaration = child.get(\"declaration\");\n const ids = declaration.getOuterBindingIdentifierPaths();\n Object.keys(ids).forEach(name => {\n if (name === \"__esModule\") {\n throw declaration.buildCodeFrameError(\n 'Illegal export \"__esModule\".',\n );\n }\n getLocalMetadata(ids[name]).names.push(name);\n });\n } else {\n child.get(\"specifiers\").forEach(spec => {\n const local = spec.get(\"local\");\n const exported = spec.get(\"exported\");\n const localMetadata = getLocalMetadata(local);\n const exportName = getExportSpecifierName(exported, stringSpecifiers);\n\n if (exportName === \"__esModule\") {\n throw exported.buildCodeFrameError('Illegal export \"__esModule\".');\n }\n localMetadata.names.push(exportName);\n });\n }\n } else if (child.isExportDefaultDeclaration()) {\n const declaration = child.get(\"declaration\");\n if (\n declaration.isFunctionDeclaration() ||\n declaration.isClassDeclaration()\n ) {\n // @ts-expect-error todo(flow->ts): improve babel-types\n getLocalMetadata(declaration.get(\"id\")).names.push(\"default\");\n } else {\n // These should have been removed by the nameAnonymousExports() call.\n throw declaration.buildCodeFrameError(\n \"Unexpected default expression export.\",\n );\n }\n }\n });\n return localMetadata;\n}\n\n/**\n * Ensure that all exported values have local binding names.\n */\nfunction nameAnonymousExports(programPath: NodePath) {\n // Name anonymous exported locals.\n programPath.get(\"body\").forEach(child => {\n if (!child.isExportDefaultDeclaration()) return;\n splitExportDeclaration(child);\n });\n}\n\nfunction removeImportExportDeclarations(programPath: NodePath) {\n programPath.get(\"body\").forEach(child => {\n if (child.isImportDeclaration()) {\n child.remove();\n } else if (child.isExportNamedDeclaration()) {\n if (child.node.declaration) {\n // @ts-expect-error todo(flow->ts): avoid mutations\n child.node.declaration._blockHoist = child.node._blockHoist;\n child.replaceWith(child.node.declaration);\n } else {\n child.remove();\n }\n } else if (child.isExportDefaultDeclaration()) {\n // export default foo;\n const declaration = child.get(\"declaration\");\n if (\n declaration.isFunctionDeclaration() ||\n declaration.isClassDeclaration()\n ) {\n // @ts-expect-error todo(flow->ts): avoid mutations\n declaration._blockHoist = child.node._blockHoist;\n child.replaceWith(\n declaration as NodePath,\n );\n } else {\n // These should have been removed by the nameAnonymousExports() call.\n throw declaration.buildCodeFrameError(\n \"Unexpected default expression export.\",\n );\n }\n } else if (child.isExportAllDeclaration()) {\n child.remove();\n }\n });\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_path","require","_helperValidatorIdentifier","_helperSplitExportDeclaration","hasExports","metadata","isSideEffectImport","source","imports","size","importsNamespace","reexports","reexportNamespace","reexportAll","validateImportInteropOption","importInterop","Error","resolveImportInterop","filename","normalizeModuleAndLoadMetadata","programPath","exportName","initializeReexports","lazy","esNamespaceOnly","scope","generateUidIdentifier","name","stringSpecifiers","Set","nameAnonymousExports","local","sources","getModuleMetadata","removeImportExportDeclarations","values","next","value","resolvedInterop","interop","exportNameListName","getExportSpecifierName","path","isIdentifier","node","isStringLiteral","stringValue","isIdentifierName","add","type","assertExportSpecifier","isExportSpecifier","isExportNamespaceSpecifier","buildCodeFrameError","localData","getLocalExportMetadata","sourceData","Map","getData","sourceNode","data","get","basename","extname","loc","referenced","set","forEach","child","isImportDeclaration","spec","isImportDefaultSpecifier","localName","reexport","delete","names","isImportNamespaceSpecifier","isImportSpecifier","importName","isExportAllDeclaration","isExportNamedDeclaration","isExportDefaultDeclaration","needsDefault","needsNamed","test","Array","isArray","indexOf","bindingKindLookup","kind","declaration","isFunctionDeclaration","isClassDeclaration","isVariableDeclaration","Object","keys","getOuterBindingIdentifiers","localMetadata","getLocalMetadata","idPath","undefined","ids","getOuterBindingIdentifierPaths","push","exported","splitExportDeclaration","remove","_blockHoist","replaceWith"],"sources":["../src/normalize-and-load-metadata.ts"],"sourcesContent":["import { basename, extname } from \"path\";\nimport type * as t from \"@babel/types\";\n\nimport { isIdentifierName } from \"@babel/helper-validator-identifier\";\nimport splitExportDeclaration from \"@babel/helper-split-export-declaration\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport interface ModuleMetadata {\n exportName: string;\n // The name of the variable that will reference an object containing export names.\n exportNameListName: null | string;\n hasExports: boolean;\n // Lookup from local binding to export information.\n local: Map;\n // Lookup of source file to source file metadata.\n source: Map;\n // List of names that should only be printed as string literals.\n // i.e. `import { \"any unicode\" as foo } from \"some-module\"`\n // `stringSpecifiers` is Set(1) [\"any unicode\"]\n // In most cases `stringSpecifiers` is an empty Set\n stringSpecifiers: Set;\n}\n\nexport type InteropType =\n | \"default\" // Babel interop for default-only imports\n | \"namespace\" // Babel interop for namespace or default+named imports\n | \"node-default\" // Node.js interop for default-only imports\n | \"node-namespace\" // Node.js interop for namespace or default+named imports\n | \"none\"; // No interop, or named-only imports\n\nexport type ImportInterop =\n | \"none\"\n | \"babel\"\n | \"node\"\n | ((source: string, filename?: string) => \"none\" | \"babel\" | \"node\");\n\nexport type Lazy = boolean | string[] | ((source: string) => boolean);\n\nexport interface SourceModuleMetadata {\n // A unique variable name to use for this namespace object. Centralized for simplicity.\n name: string;\n loc: t.SourceLocation | undefined | null;\n interop: InteropType;\n // Local binding to reference from this source namespace. Key: Local name, value: Import name\n imports: Map;\n // Local names that reference namespace object.\n importsNamespace: Set;\n // Reexports to create for namespace. Key: Export name, value: Import name\n reexports: Map;\n // List of names to re-export namespace as.\n reexportNamespace: Set;\n // Tracks if the source should be re-exported.\n reexportAll: null | {\n loc: t.SourceLocation | undefined | null;\n };\n lazy?: Lazy;\n referenced: boolean;\n}\n\nexport interface LocalExportMetadata {\n names: Array; // names of exports,\n kind: \"import\" | \"hoisted\" | \"block\" | \"var\";\n}\n\n/**\n * Check if the module has any exports that need handling.\n */\nexport function hasExports(metadata: ModuleMetadata) {\n return metadata.hasExports;\n}\n\n/**\n * Check if a given source is an anonymous import, e.g. \"import 'foo';\"\n */\nexport function isSideEffectImport(source: SourceModuleMetadata) {\n return (\n source.imports.size === 0 &&\n source.importsNamespace.size === 0 &&\n source.reexports.size === 0 &&\n source.reexportNamespace.size === 0 &&\n !source.reexportAll\n );\n}\n\nexport function validateImportInteropOption(\n importInterop: any,\n): importInterop is ImportInterop {\n if (\n typeof importInterop !== \"function\" &&\n importInterop !== \"none\" &&\n importInterop !== \"babel\" &&\n importInterop !== \"node\"\n ) {\n throw new Error(\n `.importInterop must be one of \"none\", \"babel\", \"node\", or a function returning one of those values (received ${importInterop}).`,\n );\n }\n return importInterop;\n}\n\nfunction resolveImportInterop(\n importInterop: ImportInterop,\n source: string,\n filename: string | undefined,\n) {\n if (typeof importInterop === \"function\") {\n return validateImportInteropOption(importInterop(source, filename));\n }\n return importInterop;\n}\n\n/**\n * Remove all imports and exports from the file, and return all metadata\n * needed to reconstruct the module's behavior.\n */\nexport default function normalizeModuleAndLoadMetadata(\n programPath: NodePath,\n exportName: string,\n {\n importInterop,\n initializeReexports = false,\n lazy = false,\n esNamespaceOnly = false,\n filename,\n }: {\n importInterop: ImportInterop;\n initializeReexports: boolean | void;\n lazy: Lazy;\n esNamespaceOnly: boolean;\n filename: string;\n },\n): ModuleMetadata {\n if (!exportName) {\n exportName = programPath.scope.generateUidIdentifier(\"exports\").name;\n }\n const stringSpecifiers = new Set();\n\n nameAnonymousExports(programPath);\n\n const { local, sources, hasExports } = getModuleMetadata(\n programPath,\n { initializeReexports, lazy },\n stringSpecifiers,\n );\n\n removeImportExportDeclarations(programPath);\n\n // Reuse the imported namespace name if there is one.\n for (const [source, metadata] of sources) {\n if (metadata.importsNamespace.size > 0) {\n // This is kind of gross. If we stop using `loose: true` we should\n // just make this destructuring assignment.\n metadata.name = metadata.importsNamespace.values().next().value;\n }\n\n const resolvedInterop = resolveImportInterop(\n importInterop,\n source,\n filename,\n );\n\n if (resolvedInterop === \"none\") {\n metadata.interop = \"none\";\n } else if (resolvedInterop === \"node\" && metadata.interop === \"namespace\") {\n metadata.interop = \"node-namespace\";\n } else if (resolvedInterop === \"node\" && metadata.interop === \"default\") {\n metadata.interop = \"node-default\";\n } else if (esNamespaceOnly && metadata.interop === \"namespace\") {\n // Both the default and namespace interops pass through __esModule\n // objects, but the namespace interop is used to enable Babel's\n // destructuring-like interop behavior for normal CommonJS.\n // Since some tooling has started to remove that behavior, we expose\n // it as the `esNamespace` option.\n metadata.interop = \"default\";\n }\n }\n\n return {\n exportName,\n exportNameListName: null,\n hasExports,\n local,\n source: sources,\n stringSpecifiers,\n };\n}\n\nfunction getExportSpecifierName(\n path: NodePath,\n stringSpecifiers: Set,\n): string {\n if (path.isIdentifier()) {\n return path.node.name;\n } else if (path.isStringLiteral()) {\n const stringValue = path.node.value;\n // add specifier value to `stringSpecifiers` only when it can not be converted to an identifier name\n // i.e In `import { \"foo\" as bar }`\n // we do not consider `\"foo\"` to be a `stringSpecifier` because we can treat it as\n // `import { foo as bar }`\n // This helps minimize the size of `stringSpecifiers` and reduce overhead of checking valid identifier names\n // when building transpiled code from metadata\n if (!isIdentifierName(stringValue)) {\n stringSpecifiers.add(stringValue);\n }\n return stringValue;\n } else {\n throw new Error(\n `Expected export specifier to be either Identifier or StringLiteral, got ${path.node.type}`,\n );\n }\n}\n\nfunction assertExportSpecifier(\n path: NodePath,\n): asserts path is NodePath {\n if (path.isExportSpecifier()) {\n return;\n } else if (path.isExportNamespaceSpecifier()) {\n throw path.buildCodeFrameError(\n \"Export namespace should be first transformed by `@babel/plugin-transform-export-namespace-from`.\",\n );\n } else {\n throw path.buildCodeFrameError(\"Unexpected export specifier type\");\n }\n}\n\n/**\n * Get metadata about the imports and exports present in this module.\n */\nfunction getModuleMetadata(\n programPath: NodePath,\n {\n lazy,\n initializeReexports,\n }: {\n // todo(flow-ts) changed from boolean, to match expected usage inside the function\n lazy: boolean | string[] | ((source: string) => boolean);\n initializeReexports: boolean | void;\n },\n stringSpecifiers: Set,\n) {\n const localData = getLocalExportMetadata(\n programPath,\n initializeReexports,\n stringSpecifiers,\n );\n\n const sourceData = new Map();\n const getData = (sourceNode: t.StringLiteral) => {\n const source = sourceNode.value;\n\n let data = sourceData.get(source);\n if (!data) {\n data = {\n name: programPath.scope.generateUidIdentifier(\n basename(source, extname(source)),\n ).name,\n\n interop: \"none\",\n\n loc: null,\n\n // Data about the requested sources and names.\n imports: new Map(),\n importsNamespace: new Set(),\n\n // Metadata about data that is passed directly from source to export.\n reexports: new Map(),\n reexportNamespace: new Set(),\n reexportAll: null,\n\n lazy: false,\n\n referenced: false,\n };\n sourceData.set(source, data);\n }\n return data;\n };\n let hasExports = false;\n programPath.get(\"body\").forEach(child => {\n if (child.isImportDeclaration()) {\n const data = getData(child.node.source);\n if (!data.loc) data.loc = child.node.loc;\n\n child.get(\"specifiers\").forEach(spec => {\n if (spec.isImportDefaultSpecifier()) {\n const localName = spec.get(\"local\").node.name;\n\n data.imports.set(localName, \"default\");\n\n const reexport = localData.get(localName);\n if (reexport) {\n localData.delete(localName);\n\n reexport.names.forEach(name => {\n data.reexports.set(name, \"default\");\n });\n data.referenced = true;\n }\n } else if (spec.isImportNamespaceSpecifier()) {\n const localName = spec.get(\"local\").node.name;\n\n data.importsNamespace.add(localName);\n const reexport = localData.get(localName);\n if (reexport) {\n localData.delete(localName);\n\n reexport.names.forEach(name => {\n data.reexportNamespace.add(name);\n });\n data.referenced = true;\n }\n } else if (spec.isImportSpecifier()) {\n const importName = getExportSpecifierName(\n spec.get(\"imported\"),\n stringSpecifiers,\n );\n const localName = spec.get(\"local\").node.name;\n\n data.imports.set(localName, importName);\n\n const reexport = localData.get(localName);\n if (reexport) {\n localData.delete(localName);\n\n reexport.names.forEach(name => {\n data.reexports.set(name, importName);\n });\n data.referenced = true;\n }\n }\n });\n } else if (child.isExportAllDeclaration()) {\n hasExports = true;\n const data = getData(child.node.source);\n if (!data.loc) data.loc = child.node.loc;\n\n data.reexportAll = {\n loc: child.node.loc,\n };\n data.referenced = true;\n } else if (child.isExportNamedDeclaration() && child.node.source) {\n hasExports = true;\n const data = getData(child.node.source);\n if (!data.loc) data.loc = child.node.loc;\n\n child.get(\"specifiers\").forEach(spec => {\n assertExportSpecifier(spec);\n const importName = getExportSpecifierName(\n spec.get(\"local\"),\n stringSpecifiers,\n );\n const exportName = getExportSpecifierName(\n spec.get(\"exported\"),\n stringSpecifiers,\n );\n\n data.reexports.set(exportName, importName);\n data.referenced = true;\n\n if (exportName === \"__esModule\") {\n throw spec\n .get(\"exported\")\n .buildCodeFrameError('Illegal export \"__esModule\".');\n }\n });\n } else if (\n child.isExportNamedDeclaration() ||\n child.isExportDefaultDeclaration()\n ) {\n hasExports = true;\n }\n });\n\n for (const metadata of sourceData.values()) {\n let needsDefault = false;\n let needsNamed = false;\n\n if (metadata.importsNamespace.size > 0) {\n needsDefault = true;\n needsNamed = true;\n }\n\n if (metadata.reexportAll) {\n needsNamed = true;\n }\n\n for (const importName of metadata.imports.values()) {\n if (importName === \"default\") needsDefault = true;\n else needsNamed = true;\n }\n for (const importName of metadata.reexports.values()) {\n if (importName === \"default\") needsDefault = true;\n else needsNamed = true;\n }\n\n if (needsDefault && needsNamed) {\n // TODO(logan): Using the namespace interop here is unfortunate. Revisit.\n metadata.interop = \"namespace\";\n } else if (needsDefault) {\n metadata.interop = \"default\";\n }\n }\n\n for (const [source, metadata] of sourceData) {\n if (\n lazy !== false &&\n !(isSideEffectImport(metadata) || metadata.reexportAll)\n ) {\n if (lazy === true) {\n // 'true' means that local relative files are eagerly loaded and\n // dependency modules are loaded lazily.\n metadata.lazy = !/\\./.test(source);\n } else if (Array.isArray(lazy)) {\n metadata.lazy = lazy.indexOf(source) !== -1;\n } else if (typeof lazy === \"function\") {\n metadata.lazy = lazy(source);\n } else {\n throw new Error(`.lazy must be a boolean, string array, or function`);\n }\n }\n }\n\n return {\n hasExports,\n local: localData,\n sources: sourceData,\n };\n}\n\ntype ModuleBindingKind = \"import\" | \"hoisted\" | \"block\" | \"var\";\n/**\n * Get metadata about local variables that are exported.\n */\nfunction getLocalExportMetadata(\n programPath: NodePath,\n initializeReexports: boolean | void,\n stringSpecifiers: Set,\n): Map {\n const bindingKindLookup = new Map();\n\n programPath.get(\"body\").forEach((child: NodePath) => {\n let kind: ModuleBindingKind;\n if (child.isImportDeclaration()) {\n kind = \"import\";\n } else {\n if (child.isExportDefaultDeclaration()) {\n child = child.get(\"declaration\");\n }\n if (child.isExportNamedDeclaration()) {\n if (child.node.declaration) {\n child = child.get(\"declaration\");\n } else if (\n initializeReexports &&\n child.node.source &&\n child.get(\"source\").isStringLiteral()\n ) {\n child.get(\"specifiers\").forEach(spec => {\n assertExportSpecifier(spec);\n bindingKindLookup.set(spec.get(\"local\").node.name, \"block\");\n });\n return;\n }\n }\n\n if (child.isFunctionDeclaration()) {\n kind = \"hoisted\";\n } else if (child.isClassDeclaration()) {\n kind = \"block\";\n } else if (child.isVariableDeclaration({ kind: \"var\" })) {\n kind = \"var\";\n } else if (child.isVariableDeclaration()) {\n kind = \"block\";\n } else {\n return;\n }\n }\n\n Object.keys(child.getOuterBindingIdentifiers()).forEach(name => {\n bindingKindLookup.set(name, kind);\n });\n });\n\n const localMetadata = new Map();\n const getLocalMetadata = (idPath: NodePath) => {\n const localName = idPath.node.name;\n let metadata = localMetadata.get(localName);\n\n if (!metadata) {\n const kind = bindingKindLookup.get(localName);\n\n if (kind === undefined) {\n throw idPath.buildCodeFrameError(\n `Exporting local \"${localName}\", which is not declared.`,\n );\n }\n\n metadata = {\n names: [],\n kind,\n };\n localMetadata.set(localName, metadata);\n }\n return metadata;\n };\n\n programPath.get(\"body\").forEach(child => {\n if (\n child.isExportNamedDeclaration() &&\n (initializeReexports || !child.node.source)\n ) {\n if (child.node.declaration) {\n const declaration = child.get(\"declaration\");\n const ids = declaration.getOuterBindingIdentifierPaths();\n Object.keys(ids).forEach(name => {\n if (name === \"__esModule\") {\n throw declaration.buildCodeFrameError(\n 'Illegal export \"__esModule\".',\n );\n }\n getLocalMetadata(ids[name]).names.push(name);\n });\n } else {\n child.get(\"specifiers\").forEach(spec => {\n const local = spec.get(\"local\");\n const exported = spec.get(\"exported\");\n const localMetadata = getLocalMetadata(local);\n const exportName = getExportSpecifierName(exported, stringSpecifiers);\n\n if (exportName === \"__esModule\") {\n throw exported.buildCodeFrameError('Illegal export \"__esModule\".');\n }\n localMetadata.names.push(exportName);\n });\n }\n } else if (child.isExportDefaultDeclaration()) {\n const declaration = child.get(\"declaration\");\n if (\n declaration.isFunctionDeclaration() ||\n declaration.isClassDeclaration()\n ) {\n // @ts-expect-error todo(flow->ts): improve babel-types\n getLocalMetadata(declaration.get(\"id\")).names.push(\"default\");\n } else {\n // These should have been removed by the nameAnonymousExports() call.\n throw declaration.buildCodeFrameError(\n \"Unexpected default expression export.\",\n );\n }\n }\n });\n return localMetadata;\n}\n\n/**\n * Ensure that all exported values have local binding names.\n */\nfunction nameAnonymousExports(programPath: NodePath) {\n // Name anonymous exported locals.\n programPath.get(\"body\").forEach(child => {\n if (!child.isExportDefaultDeclaration()) return;\n splitExportDeclaration(child);\n });\n}\n\nfunction removeImportExportDeclarations(programPath: NodePath) {\n programPath.get(\"body\").forEach(child => {\n if (child.isImportDeclaration()) {\n child.remove();\n } else if (child.isExportNamedDeclaration()) {\n if (child.node.declaration) {\n // @ts-expect-error todo(flow->ts): avoid mutations\n child.node.declaration._blockHoist = child.node._blockHoist;\n child.replaceWith(child.node.declaration);\n } else {\n child.remove();\n }\n } else if (child.isExportDefaultDeclaration()) {\n // export default foo;\n const declaration = child.get(\"declaration\");\n if (\n declaration.isFunctionDeclaration() ||\n declaration.isClassDeclaration()\n ) {\n // @ts-expect-error todo(flow->ts): avoid mutations\n declaration._blockHoist = child.node._blockHoist;\n child.replaceWith(\n declaration as NodePath,\n );\n } else {\n // These should have been removed by the nameAnonymousExports() call.\n throw declaration.buildCodeFrameError(\n \"Unexpected default expression export.\",\n );\n }\n } else if (child.isExportAllDeclaration()) {\n child.remove();\n }\n });\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js b/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js index e4188710a..371163015 100644 --- a/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js +++ b/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js @@ -73,7 +73,10 @@ function rewriteLiveReferences(programPath, metadata) { exported }; programPath.traverse(rewriteBindingInitVisitor, rewriteBindingInitVisitorState); - (0, _helperSimpleAccess.default)(programPath, new Set([...Array.from(imported.keys()), ...Array.from(exported.keys())]), false); + const bindingNames = new Set([...Array.from(imported.keys()), ...Array.from(exported.keys())]); + { + (0, _helperSimpleAccess.default)(programPath, bindingNames, false); + } const rewriteReferencesVisitorState = { seen: new WeakSet(), metadata, diff --git a/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js.map b/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js.map index 34e9d016c..ed02a395f 100644 --- a/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js.map +++ b/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js.map @@ -1 +1 @@ -{"version":3,"names":["assignmentExpression","callExpression","cloneNode","expressionStatement","getOuterBindingIdentifiers","identifier","isMemberExpression","isVariableDeclaration","jsxIdentifier","jsxMemberExpression","memberExpression","numericLiteral","sequenceExpression","stringLiteral","variableDeclaration","variableDeclarator","isInType","path","parent","type","parentPath","exportKind","isStatement","isExpression","rewriteLiveReferences","programPath","metadata","imported","Map","exported","requeueInParent","requeue","source","data","localName","importName","imports","set","importsNamespace","local","exportMeta","get","push","names","rewriteBindingInitVisitorState","scope","traverse","rewriteBindingInitVisitor","simplifyAccess","Set","Array","from","keys","rewriteReferencesVisitorState","seen","WeakSet","buildImportReference","identNode","meta","referenced","lazy","namespace","name","interop","computed","stringSpecifiers","has","rewriteReferencesVisitor","Scope","skip","ClassDeclaration","id","node","Error","exportNames","length","statement","buildBindingExportAssignmentExpression","_blockHoist","insertAfter","VariableDeclaration","Object","forEach","localExpr","exportsObjectName","exportName","currentScope","hasOwnBinding","rename","reduce","expr","buildImportThrow","template","expression","ast","ReferencedIdentifier","add","importData","buildCodeFrameError","localBinding","getBinding","rootBinding","ref","loc","isCallExpression","callee","isOptionalCallExpression","isTaggedTemplateExpression","tag","replaceWith","isJSXIdentifier","object","property","UpdateExpression","arg","update","isIdentifier","exportedNames","operator","prefix","generateDeclaredUidIdentifier","AssignmentExpression","exit","left","assert","assignment","right","ids","programScopeIds","filter","find","items","isExpressionStatement","programScope","didTransformExport","importConstViolationName","loopBodyScope","ensureBlock","bodyPath","newLoopId","generateUidIdentifierBasedOnNode","registerDeclaration","unshiftContainer"],"sources":["../src/rewrite-live-references.ts"],"sourcesContent":["import assert from \"assert\";\nimport {\n assignmentExpression,\n callExpression,\n cloneNode,\n expressionStatement,\n getOuterBindingIdentifiers,\n identifier,\n isMemberExpression,\n isVariableDeclaration,\n jsxIdentifier,\n jsxMemberExpression,\n memberExpression,\n numericLiteral,\n sequenceExpression,\n stringLiteral,\n variableDeclaration,\n variableDeclarator,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport template from \"@babel/template\";\nimport type { NodePath, Visitor, Scope } from \"@babel/traverse\";\nimport simplifyAccess from \"@babel/helper-simple-access\";\n\nimport type { ModuleMetadata } from \"./normalize-and-load-metadata\";\n\ninterface RewriteReferencesVisitorState {\n exported: Map;\n metadata: ModuleMetadata;\n requeueInParent: (path: NodePath) => void;\n scope: Scope;\n imported: Map;\n buildImportReference: (\n [source, importName, localName]: readonly [string, string, string],\n identNode: t.Identifier | t.CallExpression | t.JSXIdentifier,\n ) => any;\n seen: WeakSet;\n}\n\ninterface RewriteBindingInitVisitorState {\n exported: Map;\n metadata: ModuleMetadata;\n requeueInParent: (path: NodePath) => void;\n scope: Scope;\n}\n\nfunction isInType(path: NodePath) {\n do {\n switch (path.parent.type) {\n case \"TSTypeAnnotation\":\n case \"TSTypeAliasDeclaration\":\n case \"TSTypeReference\":\n case \"TypeAnnotation\":\n case \"TypeAlias\":\n return true;\n case \"ExportSpecifier\":\n return (\n (\n path.parentPath.parent as\n | t.ExportDefaultDeclaration\n | t.ExportNamedDeclaration\n ).exportKind === \"type\"\n );\n default:\n if (path.parentPath.isStatement() || path.parentPath.isExpression()) {\n return false;\n }\n }\n } while ((path = path.parentPath));\n}\n\nexport default function rewriteLiveReferences(\n programPath: NodePath,\n metadata: ModuleMetadata,\n) {\n const imported = new Map();\n const exported = new Map();\n const requeueInParent = (path: NodePath) => {\n // Manually re-queue `exports.default =` expressions so that the ES3\n // transform has an opportunity to convert them. Ideally this would\n // happen automatically from the replaceWith above. See #4140 for\n // more info.\n programPath.requeue(path);\n };\n\n for (const [source, data] of metadata.source) {\n for (const [localName, importName] of data.imports) {\n imported.set(localName, [source, importName, null]);\n }\n for (const localName of data.importsNamespace) {\n imported.set(localName, [source, null, localName]);\n }\n }\n\n for (const [local, data] of metadata.local) {\n let exportMeta = exported.get(local);\n if (!exportMeta) {\n exportMeta = [];\n exported.set(local, exportMeta);\n }\n\n exportMeta.push(...data.names);\n }\n\n // Rewrite initialization of bindings to update exports.\n const rewriteBindingInitVisitorState: RewriteBindingInitVisitorState = {\n metadata,\n requeueInParent,\n scope: programPath.scope,\n exported, // local name => exported name list\n };\n programPath.traverse(\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n rewriteBindingInitVisitor,\n rewriteBindingInitVisitorState,\n );\n\n simplifyAccess(\n programPath,\n // NOTE(logan): The 'Array.from' calls are to make this code with in loose mode.\n new Set([...Array.from(imported.keys()), ...Array.from(exported.keys())]),\n false,\n );\n\n // Rewrite reads/writes from imports and exports to have the correct behavior.\n const rewriteReferencesVisitorState: RewriteReferencesVisitorState = {\n seen: new WeakSet(),\n metadata,\n requeueInParent,\n scope: programPath.scope,\n imported, // local / import\n exported, // local name => exported name list\n buildImportReference: ([source, importName, localName], identNode) => {\n const meta = metadata.source.get(source);\n meta.referenced = true;\n\n if (localName) {\n if (meta.lazy) {\n identNode = callExpression(\n // @ts-expect-error Fixme: we should handle the case when identNode is a JSXIdentifier\n identNode,\n [],\n );\n }\n return identNode;\n }\n\n let namespace: t.Expression = identifier(meta.name);\n if (meta.lazy) namespace = callExpression(namespace, []);\n\n if (importName === \"default\" && meta.interop === \"node-default\") {\n return namespace;\n }\n\n const computed = metadata.stringSpecifiers.has(importName);\n\n return memberExpression(\n namespace,\n computed ? stringLiteral(importName) : identifier(importName),\n computed,\n );\n },\n };\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n programPath.traverse(rewriteReferencesVisitor, rewriteReferencesVisitorState);\n}\n\n/**\n * A visitor to inject export update statements during binding initialization.\n */\nconst rewriteBindingInitVisitor: Visitor = {\n Scope(path) {\n path.skip();\n },\n ClassDeclaration(path) {\n const { requeueInParent, exported, metadata } = this;\n\n const { id } = path.node;\n if (!id) throw new Error(\"Expected class to have a name\");\n const localName = id.name;\n\n const exportNames = exported.get(localName) || [];\n if (exportNames.length > 0) {\n const statement = expressionStatement(\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n buildBindingExportAssignmentExpression(\n metadata,\n exportNames,\n identifier(localName),\n path.scope,\n ),\n );\n // @ts-expect-error todo(flow->ts): avoid mutations\n statement._blockHoist = path.node._blockHoist;\n\n requeueInParent(path.insertAfter(statement)[0]);\n }\n },\n VariableDeclaration(path) {\n const { requeueInParent, exported, metadata } = this;\n\n Object.keys(path.getOuterBindingIdentifiers()).forEach(localName => {\n const exportNames = exported.get(localName) || [];\n\n if (exportNames.length > 0) {\n const statement = expressionStatement(\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n buildBindingExportAssignmentExpression(\n metadata,\n exportNames,\n identifier(localName),\n path.scope,\n ),\n );\n // @ts-expect-error todo(flow->ts): avoid mutations\n statement._blockHoist = path.node._blockHoist;\n\n requeueInParent(path.insertAfter(statement)[0]);\n }\n });\n },\n};\n\nconst buildBindingExportAssignmentExpression = (\n metadata: ModuleMetadata,\n exportNames: string[],\n localExpr: t.Expression,\n scope: Scope,\n) => {\n const exportsObjectName = metadata.exportName;\n for (\n let currentScope = scope;\n currentScope != null;\n currentScope = currentScope.parent\n ) {\n if (currentScope.hasOwnBinding(exportsObjectName)) {\n currentScope.rename(exportsObjectName);\n }\n }\n return (exportNames || []).reduce((expr, exportName) => {\n // class Foo {} export { Foo, Foo as Bar };\n // as\n // class Foo {} exports.Foo = exports.Bar = Foo;\n const { stringSpecifiers } = metadata;\n const computed = stringSpecifiers.has(exportName);\n return assignmentExpression(\n \"=\",\n memberExpression(\n identifier(exportsObjectName),\n computed ? stringLiteral(exportName) : identifier(exportName),\n /* computed */ computed,\n ),\n expr,\n );\n }, localExpr);\n};\n\nconst buildImportThrow = (localName: string) => {\n return template.expression.ast`\n (function() {\n throw new Error('\"' + '${localName}' + '\" is read-only.');\n })()\n `;\n};\n\nconst rewriteReferencesVisitor: Visitor = {\n ReferencedIdentifier(path) {\n const { seen, buildImportReference, scope, imported, requeueInParent } =\n this;\n if (seen.has(path.node)) return;\n seen.add(path.node);\n\n const localName = path.node.name;\n\n const importData = imported.get(localName);\n if (importData) {\n if (isInType(path)) {\n throw path.buildCodeFrameError(\n `Cannot transform the imported binding \"${localName}\" since it's also used in a type annotation. ` +\n `Please strip type annotations using @babel/preset-typescript or @babel/preset-flow.`,\n );\n }\n\n const localBinding = path.scope.getBinding(localName);\n const rootBinding = scope.getBinding(localName);\n\n // redeclared in this scope\n if (rootBinding !== localBinding) return;\n\n const ref = buildImportReference(importData, path.node);\n\n // Preserve the binding location so that sourcemaps are nicer.\n ref.loc = path.node.loc;\n\n if (\n (path.parentPath.isCallExpression({ callee: path.node }) ||\n path.parentPath.isOptionalCallExpression({ callee: path.node }) ||\n path.parentPath.isTaggedTemplateExpression({ tag: path.node })) &&\n isMemberExpression(ref)\n ) {\n path.replaceWith(sequenceExpression([numericLiteral(0), ref]));\n } else if (path.isJSXIdentifier() && isMemberExpression(ref)) {\n const { object, property } = ref;\n path.replaceWith(\n jsxMemberExpression(\n // @ts-expect-error todo(flow->ts): possible bug `object` might not have a name\n jsxIdentifier(object.name),\n // @ts-expect-error todo(flow->ts): possible bug `property` might not have a name\n jsxIdentifier(property.name),\n ),\n );\n } else {\n path.replaceWith(ref);\n }\n\n requeueInParent(path);\n\n // The path could have been replaced with an identifier that would\n // otherwise be re-visited, so we skip processing its children.\n path.skip();\n }\n },\n\n UpdateExpression(path) {\n const {\n scope,\n seen,\n imported,\n exported,\n requeueInParent,\n buildImportReference,\n } = this;\n\n if (seen.has(path.node)) return;\n\n seen.add(path.node);\n\n const arg = path.get(\"argument\");\n\n // No change needed\n if (arg.isMemberExpression()) return;\n\n const update = path.node;\n\n if (arg.isIdentifier()) {\n const localName = arg.node.name;\n\n // redeclared in this scope\n if (scope.getBinding(localName) !== path.scope.getBinding(localName)) {\n return;\n }\n\n const exportedNames = exported.get(localName);\n const importData = imported.get(localName);\n\n if (exportedNames?.length > 0 || importData) {\n if (importData) {\n path.replaceWith(\n assignmentExpression(\n update.operator[0] + \"=\",\n buildImportReference(importData, arg.node),\n buildImportThrow(localName),\n ),\n );\n } else if (update.prefix) {\n // ++foo\n // => exports.foo = ++foo\n path.replaceWith(\n buildBindingExportAssignmentExpression(\n this.metadata,\n exportedNames,\n cloneNode(update),\n path.scope,\n ),\n );\n } else {\n // foo++\n // => (ref = i++, exports.i = i, ref)\n const ref = scope.generateDeclaredUidIdentifier(localName);\n\n path.replaceWith(\n sequenceExpression([\n assignmentExpression(\"=\", cloneNode(ref), cloneNode(update)),\n buildBindingExportAssignmentExpression(\n this.metadata,\n exportedNames,\n identifier(localName),\n path.scope,\n ),\n cloneNode(ref),\n ]),\n );\n }\n }\n }\n\n requeueInParent(path);\n path.skip();\n },\n\n AssignmentExpression: {\n exit(path) {\n const {\n scope,\n seen,\n imported,\n exported,\n requeueInParent,\n buildImportReference,\n } = this;\n\n if (seen.has(path.node)) return;\n seen.add(path.node);\n\n const left = path.get(\"left\");\n\n // No change needed\n if (left.isMemberExpression()) return;\n\n if (left.isIdentifier()) {\n // Simple update-assign foo += 1; export { foo };\n // => exports.foo = (foo += 1);\n const localName = left.node.name;\n\n // redeclared in this scope\n if (scope.getBinding(localName) !== path.scope.getBinding(localName)) {\n return;\n }\n\n const exportedNames = exported.get(localName);\n const importData = imported.get(localName);\n if (exportedNames?.length > 0 || importData) {\n assert(path.node.operator === \"=\", \"Path was not simplified\");\n\n const assignment = path.node;\n\n if (importData) {\n assignment.left = buildImportReference(importData, left.node);\n\n assignment.right = sequenceExpression([\n assignment.right,\n buildImportThrow(localName),\n ]);\n }\n\n path.replaceWith(\n buildBindingExportAssignmentExpression(\n this.metadata,\n exportedNames,\n assignment,\n path.scope,\n ),\n );\n requeueInParent(path);\n }\n } else {\n const ids = left.getOuterBindingIdentifiers();\n const programScopeIds = Object.keys(ids).filter(\n localName =>\n scope.getBinding(localName) === path.scope.getBinding(localName),\n );\n const id = programScopeIds.find(localName => imported.has(localName));\n\n if (id) {\n path.node.right = sequenceExpression([\n path.node.right,\n buildImportThrow(id),\n ]);\n }\n\n // Complex ({a, b, c} = {}); export { a, c };\n // => ({a, b, c} = {}), (exports.a = a, exports.c = c);\n const items: t.Expression[] = [];\n programScopeIds.forEach(localName => {\n const exportedNames = exported.get(localName) || [];\n if (exportedNames.length > 0) {\n items.push(\n buildBindingExportAssignmentExpression(\n this.metadata,\n exportedNames,\n identifier(localName),\n path.scope,\n ),\n );\n }\n });\n\n if (items.length > 0) {\n let node: t.Node = sequenceExpression(items);\n if (path.parentPath.isExpressionStatement()) {\n node = expressionStatement(node);\n // @ts-expect-error todo(flow->ts): avoid mutations\n node._blockHoist = path.parentPath.node._blockHoist;\n }\n\n const statement = path.insertAfter(node)[0];\n requeueInParent(statement);\n }\n }\n },\n },\n \"ForOfStatement|ForInStatement\"(\n path: NodePath,\n ) {\n const { scope, node } = path;\n const { left } = node;\n const { exported, imported, scope: programScope } = this;\n\n if (!isVariableDeclaration(left)) {\n let didTransformExport = false,\n importConstViolationName;\n const loopBodyScope = path.get(\"body\").scope;\n for (const name of Object.keys(getOuterBindingIdentifiers(left))) {\n if (programScope.getBinding(name) === scope.getBinding(name)) {\n if (exported.has(name)) {\n didTransformExport = true;\n if (loopBodyScope.hasOwnBinding(name)) {\n loopBodyScope.rename(name);\n }\n }\n if (imported.has(name) && !importConstViolationName) {\n importConstViolationName = name;\n }\n }\n }\n if (!didTransformExport && !importConstViolationName) {\n return;\n }\n\n path.ensureBlock();\n const bodyPath = path.get(\"body\");\n\n const newLoopId = scope.generateUidIdentifierBasedOnNode(left);\n path\n .get(\"left\")\n .replaceWith(\n variableDeclaration(\"let\", [\n variableDeclarator(cloneNode(newLoopId)),\n ]),\n );\n scope.registerDeclaration(path.get(\"left\"));\n\n if (didTransformExport) {\n bodyPath.unshiftContainer(\n \"body\",\n expressionStatement(assignmentExpression(\"=\", left, newLoopId)),\n );\n }\n if (importConstViolationName) {\n bodyPath.unshiftContainer(\n \"body\",\n expressionStatement(buildImportThrow(importConstViolationName)),\n );\n }\n }\n },\n};\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["_assert","require","_t","_template","_helperSimpleAccess","assignmentExpression","callExpression","cloneNode","expressionStatement","getOuterBindingIdentifiers","identifier","isMemberExpression","isVariableDeclaration","jsxIdentifier","jsxMemberExpression","memberExpression","numericLiteral","sequenceExpression","stringLiteral","variableDeclaration","variableDeclarator","isInType","path","parent","type","parentPath","exportKind","isStatement","isExpression","rewriteLiveReferences","programPath","metadata","imported","Map","exported","requeueInParent","requeue","source","data","localName","importName","imports","set","importsNamespace","local","exportMeta","get","push","names","rewriteBindingInitVisitorState","scope","traverse","rewriteBindingInitVisitor","bindingNames","Set","Array","from","keys","simplifyAccess","rewriteReferencesVisitorState","seen","WeakSet","buildImportReference","identNode","meta","referenced","lazy","namespace","name","interop","computed","stringSpecifiers","has","rewriteReferencesVisitor","Scope","skip","ClassDeclaration","id","node","Error","exportNames","length","statement","buildBindingExportAssignmentExpression","_blockHoist","insertAfter","VariableDeclaration","Object","forEach","localExpr","exportsObjectName","exportName","currentScope","hasOwnBinding","rename","reduce","expr","buildImportThrow","template","expression","ast","ReferencedIdentifier","add","importData","buildCodeFrameError","localBinding","getBinding","rootBinding","ref","loc","isCallExpression","callee","isOptionalCallExpression","isTaggedTemplateExpression","tag","replaceWith","isJSXIdentifier","object","property","UpdateExpression","arg","update","isIdentifier","exportedNames","operator","prefix","generateDeclaredUidIdentifier","AssignmentExpression","exit","left","assert","assignment","right","ids","programScopeIds","filter","find","items","isExpressionStatement","ForOfStatement|ForInStatement","programScope","didTransformExport","importConstViolationName","loopBodyScope","ensureBlock","bodyPath","newLoopId","generateUidIdentifierBasedOnNode","registerDeclaration","unshiftContainer"],"sources":["../src/rewrite-live-references.ts"],"sourcesContent":["import assert from \"assert\";\nimport {\n assignmentExpression,\n callExpression,\n cloneNode,\n expressionStatement,\n getOuterBindingIdentifiers,\n identifier,\n isMemberExpression,\n isVariableDeclaration,\n jsxIdentifier,\n jsxMemberExpression,\n memberExpression,\n numericLiteral,\n sequenceExpression,\n stringLiteral,\n variableDeclaration,\n variableDeclarator,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport template from \"@babel/template\";\nimport type { NodePath, Visitor, Scope } from \"@babel/traverse\";\nimport simplifyAccess from \"@babel/helper-simple-access\";\n\nimport type { ModuleMetadata } from \"./normalize-and-load-metadata\";\n\ninterface RewriteReferencesVisitorState {\n exported: Map;\n metadata: ModuleMetadata;\n requeueInParent: (path: NodePath) => void;\n scope: Scope;\n imported: Map;\n buildImportReference: (\n [source, importName, localName]: readonly [string, string, string],\n identNode: t.Identifier | t.CallExpression | t.JSXIdentifier,\n ) => any;\n seen: WeakSet;\n}\n\ninterface RewriteBindingInitVisitorState {\n exported: Map;\n metadata: ModuleMetadata;\n requeueInParent: (path: NodePath) => void;\n scope: Scope;\n}\n\nfunction isInType(path: NodePath) {\n do {\n switch (path.parent.type) {\n case \"TSTypeAnnotation\":\n case \"TSTypeAliasDeclaration\":\n case \"TSTypeReference\":\n case \"TypeAnnotation\":\n case \"TypeAlias\":\n return true;\n case \"ExportSpecifier\":\n return (\n (\n path.parentPath.parent as\n | t.ExportDefaultDeclaration\n | t.ExportNamedDeclaration\n ).exportKind === \"type\"\n );\n default:\n if (path.parentPath.isStatement() || path.parentPath.isExpression()) {\n return false;\n }\n }\n } while ((path = path.parentPath));\n}\n\nexport default function rewriteLiveReferences(\n programPath: NodePath,\n metadata: ModuleMetadata,\n) {\n const imported = new Map();\n const exported = new Map();\n const requeueInParent = (path: NodePath) => {\n // Manually re-queue `exports.default =` expressions so that the ES3\n // transform has an opportunity to convert them. Ideally this would\n // happen automatically from the replaceWith above. See #4140 for\n // more info.\n programPath.requeue(path);\n };\n\n for (const [source, data] of metadata.source) {\n for (const [localName, importName] of data.imports) {\n imported.set(localName, [source, importName, null]);\n }\n for (const localName of data.importsNamespace) {\n imported.set(localName, [source, null, localName]);\n }\n }\n\n for (const [local, data] of metadata.local) {\n let exportMeta = exported.get(local);\n if (!exportMeta) {\n exportMeta = [];\n exported.set(local, exportMeta);\n }\n\n exportMeta.push(...data.names);\n }\n\n // Rewrite initialization of bindings to update exports.\n const rewriteBindingInitVisitorState: RewriteBindingInitVisitorState = {\n metadata,\n requeueInParent,\n scope: programPath.scope,\n exported, // local name => exported name list\n };\n programPath.traverse(\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n rewriteBindingInitVisitor,\n rewriteBindingInitVisitorState,\n );\n\n // NOTE(logan): The 'Array.from' calls are to make this code with in loose mode.\n const bindingNames = new Set([\n ...Array.from(imported.keys()),\n ...Array.from(exported.keys()),\n ]);\n if (process.env.BABEL_8_BREAKING) {\n simplifyAccess(programPath, bindingNames);\n } else {\n // @ts-ignore(Babel 7 vs Babel 8) The third param has been removed in Babel 8.\n simplifyAccess(programPath, bindingNames, false);\n }\n\n // Rewrite reads/writes from imports and exports to have the correct behavior.\n const rewriteReferencesVisitorState: RewriteReferencesVisitorState = {\n seen: new WeakSet(),\n metadata,\n requeueInParent,\n scope: programPath.scope,\n imported, // local / import\n exported, // local name => exported name list\n buildImportReference: ([source, importName, localName], identNode) => {\n const meta = metadata.source.get(source);\n meta.referenced = true;\n\n if (localName) {\n if (meta.lazy) {\n identNode = callExpression(\n // @ts-expect-error Fixme: we should handle the case when identNode is a JSXIdentifier\n identNode,\n [],\n );\n }\n return identNode;\n }\n\n let namespace: t.Expression = identifier(meta.name);\n if (meta.lazy) namespace = callExpression(namespace, []);\n\n if (importName === \"default\" && meta.interop === \"node-default\") {\n return namespace;\n }\n\n const computed = metadata.stringSpecifiers.has(importName);\n\n return memberExpression(\n namespace,\n computed ? stringLiteral(importName) : identifier(importName),\n computed,\n );\n },\n };\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n programPath.traverse(rewriteReferencesVisitor, rewriteReferencesVisitorState);\n}\n\n/**\n * A visitor to inject export update statements during binding initialization.\n */\nconst rewriteBindingInitVisitor: Visitor = {\n Scope(path) {\n path.skip();\n },\n ClassDeclaration(path) {\n const { requeueInParent, exported, metadata } = this;\n\n const { id } = path.node;\n if (!id) throw new Error(\"Expected class to have a name\");\n const localName = id.name;\n\n const exportNames = exported.get(localName) || [];\n if (exportNames.length > 0) {\n const statement = expressionStatement(\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n buildBindingExportAssignmentExpression(\n metadata,\n exportNames,\n identifier(localName),\n path.scope,\n ),\n );\n // @ts-expect-error todo(flow->ts): avoid mutations\n statement._blockHoist = path.node._blockHoist;\n\n requeueInParent(path.insertAfter(statement)[0]);\n }\n },\n VariableDeclaration(path) {\n const { requeueInParent, exported, metadata } = this;\n\n Object.keys(path.getOuterBindingIdentifiers()).forEach(localName => {\n const exportNames = exported.get(localName) || [];\n\n if (exportNames.length > 0) {\n const statement = expressionStatement(\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n buildBindingExportAssignmentExpression(\n metadata,\n exportNames,\n identifier(localName),\n path.scope,\n ),\n );\n // @ts-expect-error todo(flow->ts): avoid mutations\n statement._blockHoist = path.node._blockHoist;\n\n requeueInParent(path.insertAfter(statement)[0]);\n }\n });\n },\n};\n\nconst buildBindingExportAssignmentExpression = (\n metadata: ModuleMetadata,\n exportNames: string[],\n localExpr: t.Expression,\n scope: Scope,\n) => {\n const exportsObjectName = metadata.exportName;\n for (\n let currentScope = scope;\n currentScope != null;\n currentScope = currentScope.parent\n ) {\n if (currentScope.hasOwnBinding(exportsObjectName)) {\n currentScope.rename(exportsObjectName);\n }\n }\n return (exportNames || []).reduce((expr, exportName) => {\n // class Foo {} export { Foo, Foo as Bar };\n // as\n // class Foo {} exports.Foo = exports.Bar = Foo;\n const { stringSpecifiers } = metadata;\n const computed = stringSpecifiers.has(exportName);\n return assignmentExpression(\n \"=\",\n memberExpression(\n identifier(exportsObjectName),\n computed ? stringLiteral(exportName) : identifier(exportName),\n /* computed */ computed,\n ),\n expr,\n );\n }, localExpr);\n};\n\nconst buildImportThrow = (localName: string) => {\n return template.expression.ast`\n (function() {\n throw new Error('\"' + '${localName}' + '\" is read-only.');\n })()\n `;\n};\n\nconst rewriteReferencesVisitor: Visitor = {\n ReferencedIdentifier(path) {\n const { seen, buildImportReference, scope, imported, requeueInParent } =\n this;\n if (seen.has(path.node)) return;\n seen.add(path.node);\n\n const localName = path.node.name;\n\n const importData = imported.get(localName);\n if (importData) {\n if (isInType(path)) {\n throw path.buildCodeFrameError(\n `Cannot transform the imported binding \"${localName}\" since it's also used in a type annotation. ` +\n `Please strip type annotations using @babel/preset-typescript or @babel/preset-flow.`,\n );\n }\n\n const localBinding = path.scope.getBinding(localName);\n const rootBinding = scope.getBinding(localName);\n\n // redeclared in this scope\n if (rootBinding !== localBinding) return;\n\n const ref = buildImportReference(importData, path.node);\n\n // Preserve the binding location so that sourcemaps are nicer.\n ref.loc = path.node.loc;\n\n if (\n (path.parentPath.isCallExpression({ callee: path.node }) ||\n path.parentPath.isOptionalCallExpression({ callee: path.node }) ||\n path.parentPath.isTaggedTemplateExpression({ tag: path.node })) &&\n isMemberExpression(ref)\n ) {\n path.replaceWith(sequenceExpression([numericLiteral(0), ref]));\n } else if (path.isJSXIdentifier() && isMemberExpression(ref)) {\n const { object, property } = ref;\n path.replaceWith(\n jsxMemberExpression(\n // @ts-expect-error todo(flow->ts): possible bug `object` might not have a name\n jsxIdentifier(object.name),\n // @ts-expect-error todo(flow->ts): possible bug `property` might not have a name\n jsxIdentifier(property.name),\n ),\n );\n } else {\n path.replaceWith(ref);\n }\n\n requeueInParent(path);\n\n // The path could have been replaced with an identifier that would\n // otherwise be re-visited, so we skip processing its children.\n path.skip();\n }\n },\n\n UpdateExpression(path) {\n const {\n scope,\n seen,\n imported,\n exported,\n requeueInParent,\n buildImportReference,\n } = this;\n\n if (seen.has(path.node)) return;\n\n seen.add(path.node);\n\n const arg = path.get(\"argument\");\n\n // No change needed\n if (arg.isMemberExpression()) return;\n\n const update = path.node;\n\n if (arg.isIdentifier()) {\n const localName = arg.node.name;\n\n // redeclared in this scope\n if (scope.getBinding(localName) !== path.scope.getBinding(localName)) {\n return;\n }\n\n const exportedNames = exported.get(localName);\n const importData = imported.get(localName);\n\n if (exportedNames?.length > 0 || importData) {\n if (importData) {\n path.replaceWith(\n assignmentExpression(\n update.operator[0] + \"=\",\n buildImportReference(importData, arg.node),\n buildImportThrow(localName),\n ),\n );\n } else if (update.prefix) {\n // ++foo\n // => exports.foo = ++foo\n path.replaceWith(\n buildBindingExportAssignmentExpression(\n this.metadata,\n exportedNames,\n cloneNode(update),\n path.scope,\n ),\n );\n } else {\n // foo++\n // => (ref = i++, exports.i = i, ref)\n const ref = scope.generateDeclaredUidIdentifier(localName);\n\n path.replaceWith(\n sequenceExpression([\n assignmentExpression(\"=\", cloneNode(ref), cloneNode(update)),\n buildBindingExportAssignmentExpression(\n this.metadata,\n exportedNames,\n identifier(localName),\n path.scope,\n ),\n cloneNode(ref),\n ]),\n );\n }\n }\n }\n\n requeueInParent(path);\n path.skip();\n },\n\n AssignmentExpression: {\n exit(path) {\n const {\n scope,\n seen,\n imported,\n exported,\n requeueInParent,\n buildImportReference,\n } = this;\n\n if (seen.has(path.node)) return;\n seen.add(path.node);\n\n const left = path.get(\"left\");\n\n // No change needed\n if (left.isMemberExpression()) return;\n\n if (left.isIdentifier()) {\n // Simple update-assign foo += 1; export { foo };\n // => exports.foo = (foo += 1);\n const localName = left.node.name;\n\n // redeclared in this scope\n if (scope.getBinding(localName) !== path.scope.getBinding(localName)) {\n return;\n }\n\n const exportedNames = exported.get(localName);\n const importData = imported.get(localName);\n if (exportedNames?.length > 0 || importData) {\n assert(path.node.operator === \"=\", \"Path was not simplified\");\n\n const assignment = path.node;\n\n if (importData) {\n assignment.left = buildImportReference(importData, left.node);\n\n assignment.right = sequenceExpression([\n assignment.right,\n buildImportThrow(localName),\n ]);\n }\n\n path.replaceWith(\n buildBindingExportAssignmentExpression(\n this.metadata,\n exportedNames,\n assignment,\n path.scope,\n ),\n );\n requeueInParent(path);\n }\n } else {\n const ids = left.getOuterBindingIdentifiers();\n const programScopeIds = Object.keys(ids).filter(\n localName =>\n scope.getBinding(localName) === path.scope.getBinding(localName),\n );\n const id = programScopeIds.find(localName => imported.has(localName));\n\n if (id) {\n path.node.right = sequenceExpression([\n path.node.right,\n buildImportThrow(id),\n ]);\n }\n\n // Complex ({a, b, c} = {}); export { a, c };\n // => ({a, b, c} = {}), (exports.a = a, exports.c = c);\n const items: t.Expression[] = [];\n programScopeIds.forEach(localName => {\n const exportedNames = exported.get(localName) || [];\n if (exportedNames.length > 0) {\n items.push(\n buildBindingExportAssignmentExpression(\n this.metadata,\n exportedNames,\n identifier(localName),\n path.scope,\n ),\n );\n }\n });\n\n if (items.length > 0) {\n let node: t.Node = sequenceExpression(items);\n if (path.parentPath.isExpressionStatement()) {\n node = expressionStatement(node);\n // @ts-expect-error todo(flow->ts): avoid mutations\n node._blockHoist = path.parentPath.node._blockHoist;\n }\n\n const statement = path.insertAfter(node)[0];\n requeueInParent(statement);\n }\n }\n },\n },\n \"ForOfStatement|ForInStatement\"(\n path: NodePath,\n ) {\n const { scope, node } = path;\n const { left } = node;\n const { exported, imported, scope: programScope } = this;\n\n if (!isVariableDeclaration(left)) {\n let didTransformExport = false,\n importConstViolationName;\n const loopBodyScope = path.get(\"body\").scope;\n for (const name of Object.keys(getOuterBindingIdentifiers(left))) {\n if (programScope.getBinding(name) === scope.getBinding(name)) {\n if (exported.has(name)) {\n didTransformExport = true;\n if (loopBodyScope.hasOwnBinding(name)) {\n loopBodyScope.rename(name);\n }\n }\n if (imported.has(name) && !importConstViolationName) {\n importConstViolationName = name;\n }\n }\n }\n if (!didTransformExport && !importConstViolationName) {\n return;\n }\n\n path.ensureBlock();\n const bodyPath = path.get(\"body\");\n\n const newLoopId = scope.generateUidIdentifierBasedOnNode(left);\n path\n .get(\"left\")\n .replaceWith(\n variableDeclaration(\"let\", [\n variableDeclarator(cloneNode(newLoopId)),\n ]),\n );\n scope.registerDeclaration(path.get(\"left\"));\n\n if (didTransformExport) {\n bodyPath.unshiftContainer(\n \"body\",\n expressionStatement(assignmentExpression(\"=\", left, newLoopId)),\n );\n }\n if (importConstViolationName) {\n bodyPath.unshiftContainer(\n \"body\",\n expressionStatement(buildImportThrow(importConstViolationName)),\n );\n }\n }\n },\n};\n"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js.map b/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js.map index 6736626dc..402a18c71 100644 --- a/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js.map +++ b/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js.map @@ -1 +1 @@ -{"version":3,"names":["numericLiteral","unaryExpression","rewriteThisVisitor","traverse","visitors","merge","environmentVisitor","ThisExpression","path","replaceWith","rewriteThis","programPath","node","noScope"],"sources":["../src/rewrite-this.ts"],"sourcesContent":["import environmentVisitor from \"@babel/helper-environment-visitor\";\nimport traverse from \"@babel/traverse\";\nimport { numericLiteral, unaryExpression } from \"@babel/types\";\n\nimport type { NodePath, Visitor } from \"@babel/traverse\";\n\n/**\n * A visitor to walk the tree, rewriting all `this` references in the top-level scope to be\n * `void 0` (undefined).\n */\nconst rewriteThisVisitor: Visitor = traverse.visitors.merge([\n environmentVisitor,\n {\n ThisExpression(path) {\n path.replaceWith(unaryExpression(\"void\", numericLiteral(0), true));\n },\n },\n]);\n\nexport default function rewriteThis(programPath: NodePath) {\n // Rewrite \"this\" to be \"undefined\".\n traverse(programPath.node, { ...rewriteThisVisitor, noScope: true });\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AAA+D;EAAtDA,cAAc;EAAEC;AAAe;AAQxC,MAAMC,kBAA2B,GAAGC,iBAAQ,CAACC,QAAQ,CAACC,KAAK,CAAC,CAC1DC,iCAAkB,EAClB;EACEC,cAAc,CAACC,IAAI,EAAE;IACnBA,IAAI,CAACC,WAAW,CAACR,eAAe,CAAC,MAAM,EAAED,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;EACpE;AACF,CAAC,CACF,CAAC;AAEa,SAASU,WAAW,CAACC,WAAqB,EAAE;EAEzD,IAAAR,iBAAQ,EAACQ,WAAW,CAACC,IAAI,oBAAOV,kBAAkB;IAAEW,OAAO,EAAE;EAAI,GAAG;AACtE"} \ No newline at end of file +{"version":3,"names":["_helperEnvironmentVisitor","require","_traverse","_t","numericLiteral","unaryExpression","rewriteThisVisitor","traverse","visitors","merge","environmentVisitor","ThisExpression","path","replaceWith","rewriteThis","programPath","node","Object","assign","noScope"],"sources":["../src/rewrite-this.ts"],"sourcesContent":["import environmentVisitor from \"@babel/helper-environment-visitor\";\nimport traverse from \"@babel/traverse\";\nimport { numericLiteral, unaryExpression } from \"@babel/types\";\n\nimport type { NodePath, Visitor } from \"@babel/traverse\";\n\n/**\n * A visitor to walk the tree, rewriting all `this` references in the top-level scope to be\n * `void 0` (undefined).\n */\nconst rewriteThisVisitor: Visitor = traverse.visitors.merge([\n environmentVisitor,\n {\n ThisExpression(path) {\n path.replaceWith(unaryExpression(\"void\", numericLiteral(0), true));\n },\n },\n]);\n\nexport default function rewriteThis(programPath: NodePath) {\n // Rewrite \"this\" to be \"undefined\".\n traverse(programPath.node, { ...rewriteThisVisitor, noScope: true });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,yBAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,EAAA,GAAAF,OAAA;AAA+D;EAAtDG,cAAc;EAAEC;AAAe,IAAAF,EAAA;AAQxC,MAAMG,kBAA2B,GAAGC,iBAAQ,CAACC,QAAQ,CAACC,KAAK,CAAC,CAC1DC,iCAAkB,EAClB;EACEC,cAAcA,CAACC,IAAI,EAAE;IACnBA,IAAI,CAACC,WAAW,CAACR,eAAe,CAAC,MAAM,EAAED,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;EACpE;AACF,CAAC,CACF,CAAC;AAEa,SAASU,WAAWA,CAACC,WAAqB,EAAE;EAEzD,IAAAR,iBAAQ,EAACQ,WAAW,CAACC,IAAI,EAAAC,MAAA,CAAAC,MAAA,KAAOZ,kBAAkB;IAAEa,OAAO,EAAE;EAAI,EAAE,CAAC;AACtE"} \ No newline at end of file diff --git a/node_modules/@babel/helper-module-transforms/package.json b/node_modules/@babel/helper-module-transforms/package.json index 5b4cbfef6..1ea37d4d8 100644 --- a/node_modules/@babel/helper-module-transforms/package.json +++ b/node_modules/@babel/helper-module-transforms/package.json @@ -1,6 +1,6 @@ { "name": "@babel/helper-module-transforms", - "version": "7.21.2", + "version": "7.22.5", "description": "Babel helper functions for implementing ES6 module transformations", "author": "The Babel Team (https://babel.dev/team)", "homepage": "https://babel.dev/docs/en/next/babel-helper-module-transforms", @@ -15,14 +15,14 @@ }, "main": "./lib/index.js", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" diff --git a/node_modules/@babel/helper-optimise-call-expression/lib/index.js b/node_modules/@babel/helper-optimise-call-expression/lib/index.js index c5a27e1ec..f7bc0b2a5 100644 --- a/node_modules/@babel/helper-optimise-call-expression/lib/index.js +++ b/node_modules/@babel/helper-optimise-call-expression/lib/index.js @@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.default = optimiseCallExpression; - var _t = require("@babel/types"); - const { callExpression, identifier, @@ -16,7 +14,6 @@ const { optionalCallExpression, optionalMemberExpression } = _t; - function optimiseCallExpression(callee, thisNode, args, optional) { if (args.length === 1 && isSpreadElement(args[0]) && isIdentifier(args[0].argument, { name: "arguments" @@ -24,13 +21,13 @@ function optimiseCallExpression(callee, thisNode, args, optional) { if (optional) { return optionalCallExpression(optionalMemberExpression(callee, identifier("apply"), false, true), [thisNode, args[0].argument], false); } - return callExpression(memberExpression(callee, identifier("apply")), [thisNode, args[0].argument]); } else { if (optional) { return optionalCallExpression(optionalMemberExpression(callee, identifier("call"), false, true), [thisNode, ...args], false); } - return callExpression(memberExpression(callee, identifier("call")), [thisNode, ...args]); } -} \ No newline at end of file +} + +//# sourceMappingURL=index.js.map diff --git a/node_modules/@babel/helper-optimise-call-expression/lib/index.js.map b/node_modules/@babel/helper-optimise-call-expression/lib/index.js.map new file mode 100644 index 000000000..43d7dd937 --- /dev/null +++ b/node_modules/@babel/helper-optimise-call-expression/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_t","require","callExpression","identifier","isIdentifier","isSpreadElement","memberExpression","optionalCallExpression","optionalMemberExpression","optimiseCallExpression","callee","thisNode","args","optional","length","argument","name"],"sources":["../src/index.ts"],"sourcesContent":["import {\n callExpression,\n identifier,\n isIdentifier,\n isSpreadElement,\n memberExpression,\n optionalCallExpression,\n optionalMemberExpression,\n} from \"@babel/types\";\nimport type {\n CallExpression,\n Expression,\n OptionalCallExpression,\n} from \"@babel/types\";\n\n/**\n * A helper function that generates a new call expression with given thisNode.\n It will also optimize `(...arguments)` to `.apply(arguments)`\n *\n * @export\n * @param {Expression} callee The callee of call expression\n * @param {Expression} thisNode The desired this of call expression\n * @param {Readonly} args The arguments of call expression\n * @param {boolean} optional Whether the call expression is optional\n * @returns {CallExpression | OptionalCallExpression} The generated new call expression\n */\nexport default function optimiseCallExpression(\n callee: Expression,\n thisNode: Expression,\n args: Readonly,\n optional: boolean,\n): CallExpression | OptionalCallExpression {\n if (\n args.length === 1 &&\n isSpreadElement(args[0]) &&\n isIdentifier(args[0].argument, { name: \"arguments\" })\n ) {\n // a.b?.(...arguments);\n if (optional) {\n return optionalCallExpression(\n optionalMemberExpression(callee, identifier(\"apply\"), false, true),\n [thisNode, args[0].argument],\n false,\n );\n }\n // a.b(...arguments);\n return callExpression(memberExpression(callee, identifier(\"apply\")), [\n thisNode,\n args[0].argument,\n ]);\n } else {\n // a.b?.(arg1, arg2)\n if (optional) {\n return optionalCallExpression(\n optionalMemberExpression(callee, identifier(\"call\"), false, true),\n [thisNode, ...args],\n false,\n );\n }\n // a.b(arg1, arg2)\n return callExpression(memberExpression(callee, identifier(\"call\")), [\n thisNode,\n ...args,\n ]);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,EAAA,GAAAC,OAAA;AAQsB;EAPpBC,cAAc;EACdC,UAAU;EACVC,YAAY;EACZC,eAAe;EACfC,gBAAgB;EAChBC,sBAAsB;EACtBC;AAAwB,IAAAR,EAAA;AAmBX,SAASS,sBAAsBA,CAC5CC,MAAkB,EAClBC,QAAoB,EACpBC,IAA2C,EAC3CC,QAAiB,EACwB;EACzC,IACED,IAAI,CAACE,MAAM,KAAK,CAAC,IACjBT,eAAe,CAACO,IAAI,CAAC,CAAC,CAAC,CAAC,IACxBR,YAAY,CAACQ,IAAI,CAAC,CAAC,CAAC,CAACG,QAAQ,EAAE;IAAEC,IAAI,EAAE;EAAY,CAAC,CAAC,EACrD;IAEA,IAAIH,QAAQ,EAAE;MACZ,OAAON,sBAAsB,CAC3BC,wBAAwB,CAACE,MAAM,EAAEP,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAClE,CAACQ,QAAQ,EAAEC,IAAI,CAAC,CAAC,CAAC,CAACG,QAAQ,CAAC,EAC5B,KACF,CAAC;IACH;IAEA,OAAOb,cAAc,CAACI,gBAAgB,CAACI,MAAM,EAAEP,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CACnEQ,QAAQ,EACRC,IAAI,CAAC,CAAC,CAAC,CAACG,QAAQ,CACjB,CAAC;EACJ,CAAC,MAAM;IAEL,IAAIF,QAAQ,EAAE;MACZ,OAAON,sBAAsB,CAC3BC,wBAAwB,CAACE,MAAM,EAAEP,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EACjE,CAACQ,QAAQ,EAAE,GAAGC,IAAI,CAAC,EACnB,KACF,CAAC;IACH;IAEA,OAAOV,cAAc,CAACI,gBAAgB,CAACI,MAAM,EAAEP,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAClEQ,QAAQ,EACR,GAAGC,IAAI,CACR,CAAC;EACJ;AACF"} \ No newline at end of file diff --git a/node_modules/@babel/helper-optimise-call-expression/package.json b/node_modules/@babel/helper-optimise-call-expression/package.json index 7b5b2f21f..6dee76d5e 100644 --- a/node_modules/@babel/helper-optimise-call-expression/package.json +++ b/node_modules/@babel/helper-optimise-call-expression/package.json @@ -1,6 +1,6 @@ { "name": "@babel/helper-optimise-call-expression", - "version": "7.18.6", + "version": "7.22.5", "description": "Helper function to optimise call expression", "repository": { "type": "git", @@ -14,11 +14,11 @@ }, "main": "./lib/index.js", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "devDependencies": { - "@babel/generator": "^7.18.6", - "@babel/parser": "^7.18.6" + "@babel/generator": "^7.22.5", + "@babel/parser": "^7.22.5" }, "engines": { "node": ">=6.9.0" diff --git a/node_modules/@babel/helper-plugin-utils/lib/index.js b/node_modules/@babel/helper-plugin-utils/lib/index.js index f749c09da..bad40f8a1 100644 --- a/node_modules/@babel/helper-plugin-utils/lib/index.js +++ b/node_modules/@babel/helper-plugin-utils/lib/index.js @@ -8,14 +8,18 @@ exports.declarePreset = void 0; const apiPolyfills = { assertVersion: api => range => { throwVersionError(range, api.version); - }, - targets: () => () => { - return {}; - }, - assumption: () => () => { - return undefined; } }; +{ + Object.assign(apiPolyfills, { + targets: () => () => { + return {}; + }, + assumption: () => () => { + return undefined; + } + }); +} function declare(builder) { return (api, options, dirname) => { var _clonedApi2; @@ -23,11 +27,9 @@ function declare(builder) { for (const name of Object.keys(apiPolyfills)) { var _clonedApi; if (api[name]) continue; - - clonedApi = (_clonedApi = clonedApi) != null ? _clonedApi : copyApiObject(api); + (_clonedApi = clonedApi) != null ? _clonedApi : clonedApi = copyApiObject(api); clonedApi[name] = apiPolyfills[name](clonedApi); } - return builder((_clonedApi2 = clonedApi) != null ? _clonedApi2 : api, options || {}, dirname); }; } diff --git a/node_modules/@babel/helper-plugin-utils/lib/index.js.map b/node_modules/@babel/helper-plugin-utils/lib/index.js.map index 26d6187bb..b5d1c6c06 100644 --- a/node_modules/@babel/helper-plugin-utils/lib/index.js.map +++ b/node_modules/@babel/helper-plugin-utils/lib/index.js.map @@ -1 +1 @@ -{"version":3,"names":["apiPolyfills","assertVersion","api","range","throwVersionError","version","targets","assumption","undefined","declare","builder","options","dirname","clonedApi","name","Object","keys","copyApiObject","declarePreset","proto","test","getPrototypeOf","has","obj","key","prototype","hasOwnProperty","call","Number","isInteger","Error","limit","stackTraceLimit","err","slice","assign","code"],"sources":["../src/index.ts"],"sourcesContent":["import type {\n PluginAPI,\n PluginObject,\n PluginPass,\n PresetAPI,\n PresetObject,\n} from \"@babel/core\";\n\ntype APIPolyfillFactory = (\n api: PluginAPI,\n) => PluginAPI[T];\n\ntype APIPolyfills = {\n assertVersion: APIPolyfillFactory<\"assertVersion\">;\n targets: APIPolyfillFactory<\"targets\">;\n assumption: APIPolyfillFactory<\"assumption\">;\n};\n\nconst apiPolyfills: APIPolyfills = {\n // Not supported by Babel 7 and early versions of Babel 7 beta.\n // It's important that this is polyfilled for older Babel versions\n // since it's needed to report the version mismatch.\n assertVersion: (api: PluginAPI) => (range: number | string) => {\n throwVersionError(range, api.version);\n },\n // This is supported starting from Babel 7.13\n // TODO(Babel 8): Remove this polyfill\n targets: () => () => {\n return {};\n },\n // This is supported starting from Babel 7.13\n // TODO(Babel 8): Remove this polyfill\n assumption: () => () => {\n return undefined;\n },\n};\n\nexport function declare(\n builder: (\n api: PluginAPI,\n options: Option,\n dirname: string,\n ) => PluginObject,\n): (\n api: PluginAPI,\n options: Option,\n dirname: string,\n) => PluginObject {\n return (api, options: Option, dirname: string) => {\n let clonedApi: PluginAPI;\n\n for (const name of Object.keys(\n apiPolyfills,\n ) as (keyof typeof apiPolyfills)[]) {\n if (api[name]) continue;\n\n // TODO: Use ??= when flow lets us to do so\n clonedApi = clonedApi ?? copyApiObject(api);\n // @ts-expect-error The shape of API polyfill is guaranteed by APIPolyfillFactory\n clonedApi[name] = apiPolyfills[name](clonedApi);\n }\n\n // @ts-expect-error options || {} may not be assigned to Options\n return builder(clonedApi ?? api, options || {}, dirname);\n };\n}\n\nexport const declarePreset = declare as